从字符串到日期的时间转换:12 正在变为 00 swift
Time conversion from String to Date: 12 is becoming 00 swift
我正在将时间保存到 Firebase,然后允许用户重新加载保存的时间。
当我从服务器提取数据(作为字符串)然后将时间转换回日期类型时,它从 12:00(中午)变为 00:00(午夜)。
我可以在我的 Firebase 实时数据库上看到数据,它清楚地表明 12:00 而不是午夜。
Firebase Image
这是我用来从我从实时数据库下载的字典中提取数据的代码。
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
因为您使用的格式是 hh:mm
,在 11:59 之后格式返回 00:00。如果您想要 24 小时格式,其中包括 12:xx,您只需将日期格式更改为:
simpleDateFormat.dateFormat = "HH:mm"
我正在将时间保存到 Firebase,然后允许用户重新加载保存的时间。
当我从服务器提取数据(作为字符串)然后将时间转换回日期类型时,它从 12:00(中午)变为 00:00(午夜)。
我可以在我的 Firebase 实时数据库上看到数据,它清楚地表明 12:00 而不是午夜。
Firebase Image
这是我用来从我从实时数据库下载的字典中提取数据的代码。
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
因为您使用的格式是 hh:mm
,在 11:59 之后格式返回 00:00。如果您想要 24 小时格式,其中包括 12:xx,您只需将日期格式更改为:
simpleDateFormat.dateFormat = "HH:mm"