我在某处复制了Swift的Date
对象的扩展,允许我从字符串初始化Date
,如下所示:
extension Date {
init(fromString: String) {
let str = "\(fromString) 12:00"
let dateStringFormatter = DateFormatter()
dateStringFormatter.dateFormat = "yyyy-MM-dd hh:mm"
dateStringFormatter.timeZone = NSTimeZone.default
let d = dateStringFormatter.date(from: str)!
self.init(timeInterval: 0, since: d)
}
}
例如,如果我将"2016-10-16"
作为自定义初始值设定项的字符串传递,则打印时的日期应为"2016-10-16 22:00:00 +0000"
,但现在为"2016-10-15 22:00:00 +0000"
。
知道为什么吗? 谢谢!
答案 0 :(得分:0)
感谢@jcaron解决了这个问题。
问题在于我在做"hh:mm"
时混合了12小时和24小时的fomat。这用于12小时格式,而我想使用24小时格式。
要解决此问题,"hh:mm"
需要更改为 "HH:mm"