在DateFormatter(Swift)中计算值



我需要将日期转换为此格式dd/MM/yyy^xxx,其中xxx = hh * 60 + mm,例如,我的格式中的31 Aug 2020 02:30AM将为31/08/2020^150,此格式用于与服务器的通信。我试过

let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy^hh*60+mm"
print(dateFormatter.string(from: Date()))

但是计算不起作用,缺少什么?

您可以使用DateComponents和DateComponentsFormatter来获取的分钟数

let date = Date()
let components = Calendar.current.dateComponents([.hour,.minute], from: date)
let compFormatter = DateComponentsFormatter()
compFormatter.allowedUnits = [.minute]
let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy^"
let string = formatter.string(from: date) + compFormatter.string(for: components)!