尝试在Swift 3中单独显示时间和日期,两个字段都返回nil。我收到日期为标准Date()格式的字符串。
{{1}}
我得到了d& d的回复。吨。该参数确实包含正确的日期“2017-11-14 16:36:29 +0000”。
由于
答案 0 :(得分:1)
您的代码无效,因为您需要先将dte
转换为Date
并执行此操作,您需要指定与完整日期字符串匹配的格式。您只需要一个Date
,而不是两个。
没有理由创建两个单独的字符串,只是将它们组合成一个字符串。
public func formatDateForAbandonTicket(_ dte: String) -> String {
print(dte)
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
df.locale = Locale(identifier: "en_US_POSIX")
if let date = df.date(from: dte) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "d/MM/yyyy HH:mm"
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
let dateStr = dateFormatter.string(from: date)
return dateStr
} else {
return ""
}
}
另请注意,您要将结果转换为UTC时间而不是用户的区域设置时间。如果这是你需要的,那就好了,只要确保它对用户有意义。