我有一个我想要转换的有效Date()对象。我看过其他SO帖子,似乎我的代码应该这样做:
private func getHoursMinutesString(date:Date) -> String
{
let formatter = Foundation.DateFormatter()
formatter.dateFormat = "HH:mm"
return formatter.string(from: date)
}
但是,返回的时间总是“00:00”。如果放入一个新的Date()对象,它将返回正确的时间。我想知道我可以看到的Date()对象可能出现什么问题?这是数据的lldb打印输出:
如您所见,格式化程序是一个有效的对象。日期(我认为)是一个有效的日期对象。当通过格式化程序时,它变为“00:00”,但它与新的Date()对象一起正常工作。
date
对象中是否存在任何格式不正确或缺失的内容?或者我的格式化程序中是否还有一个额外的步骤?
更新进行研究后,设置时区可以解决问题。为什么,我不知道!
答案 0 :(得分:0)
尝试添加:
dateFormatter.timeZone = NSTimeZone(name: "UTC")