Swift 从字符串到日期的时间转换:12变为00
我正在将时间保存到Firebase,然后允许用户重新加载保存的时间 当我从服务器中提取数据(作为字符串),然后将时间转换回日期类型时,它会从12:00(中午)更改为00:00(午夜) 我可以看到Firebase实时数据库上的数据,它清楚地显示12:00而不是午夜 下面是我用来从实时数据库下载的字典中提取数据的代码Swift 从字符串到日期的时间转换:12变为00,swift,time,time-format,Swift,Time,Time Format,我正在将时间保存到Firebase,然后允许用户重新加载保存的时间 当我从服务器中提取数据(作为字符串),然后将时间转换回日期类型时,它会从12:00(中午)更改为00:00(午夜) 我可以看到Firebase实时数据库上的数据,它清楚地显示12:00而不是午夜 下面是我用来从实时数据库下载的字典中提取数据的代码 if let gtt1hourLabTime = patientDataDictionary["1 Hour lab Time"] as? String { if let
if let gtt1hourLabTime = patientDataDictionary["1 Hour lab Time"] as? String {
if let realgtt1HourLabTime = timeFormatTool(gtt1hourLabTime) {
print(realgtt1HourLabTime)
patientVC.gtt1HourLabTime = realgtt1HourLabTime
}
}
这是我的时间格式工具:
func timeFormatTool(_ dateStr: String) -> Date? {
let simpleDateFormat = DateFormatter()
simpleDateFormat.dateFormat = "hh:mm"
let date = simpleDateFormat.date(from: dateStr)
return date
}
打印时间时,结果如下所示:
2000-01-01 00:18:00 +0000
因为您使用的格式是11:59之后的
hh:mm
,所以格式返回到00:00。如果您想要24小时格式,其中包括12:xx,您只需将日期格式更改为:
simpleDateFormat.dateFormat = "HH:mm"
您需要使用
HH:mm
HH表示00-23<代码>hh是从凌晨1点到下午12点的格式