计算DateFormatter中的值快速

问题描述

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...