我正在为Firebase节省时间,然后允许用户重新加载已保存的时间。
当我从服务器提取数据(作为字符串)然后将时间转换回日期类型时,它会从12:00(中午)变为00:00(午夜)。
我可以在我的Firebase实时数据库中看到数据,它清楚地说是12:00而不是午夜。
以下是我用于从实时数据库中下载的字典中提取数据的代码。
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
答案 0 :(得分:3)
因为您在11:59之后使用的格式是hh:mm
,格式会回到00:00。如果你想要24小时格式,包括12:xx,你只需要将日期格式改为:
simpleDateFormat.dateFormat = "HH:mm"