我需要将 ... is roughly analogous to <span class="type">Some <span class="type">X</span> ...
变量存储在Date
CoreData
中
我只需要在没有时间的情况下存储日期,所以我制作了一个格式化程序来丢弃iOS
变量中的时间分区。
但我有一个奇怪的结果:
这是我的代码:
NSDate
这是输出:
let dateStr = "2016-02-14 11:27:01"
let df2 = NSDateFormatter()
df2.timeZone = NSTimeZone.defaultTimeZone()
df2.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateStr)
if let date = df2.dateFromString(dateStr) {
df2.dateFormat = "yyyy-MM-dd"
print("-> \(df2.dateFromString(df2.stringFromDate(date)))")
}
格式化程序为什么每天减少一天? 我尝试过很多同样问题的日期
答案 0 :(得分:3)
您的时区显然是UTC + 4.
让UTC相应地设置时区。
df2.timeZone = NSTimeZone(forSecondsFromGMT: 0)
但是,尽管您在4小时前看到了某个日期,但NSDate
对象会根据您所在的时区得到正确处理。 print
命令始终显示UTC忽略时区信息,因为NSDate
只是Double
号码的包装。