问题描述
我需要将日期转换为这种格式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)!