时间从字符串转换到日期:12成为00迅速

问题描述:

我节省了时间,火力点,然后允许用户重新加载所保存的时间。时间从字符串转换到日期:12成为00迅速

当我拉的数据从服务器(作为一个字符串),然后转换时间回日期类型,从12:00(中午)更改为00:00(午夜)。

我可以看到我的火力地堡实时数据库中的数据和上面清清楚楚地写着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 
+1

你需要使用'HH:mm' HH表示00-23。 'hh'是从下午1点到12点的格式 –

因为你正在使用的格式是hh:mm 11后: 59格式回到00:00。如果你想要24h格式,其中包括12:xx你只需要改变你的日期格式为:

simpleDateFormat.dateFormat = "HH:mm"