计算 DateFormatter 中的值 (Swift)

Compute values in 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)!