Objective c 为什么字符串中的NSDate少了一天?
如果我尝试:Objective c 为什么字符串中的NSDate少了一天?,objective-c,ios,nsdate,nsdateformatter,Objective C,Ios,Nsdate,Nsdateformatter,如果我尝试: NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyyMMdd"]; 及 我的新NSDate对象将是:2012 0422。为什么少一天 谢谢您遇到时区问题,可以通过添加以下代码行来解决: formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"]; 适用于寻找swift 3版本的用户 let f
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyyMMdd"];
及
我的新NSDate对象将是:2012 0422。为什么少一天
谢谢您遇到时区问题,可以通过添加以下代码行来解决:
formatter.timeZone = [NSTimeZone timeZoneWithName:@"GMT"];
适用于寻找swift 3版本的用户
let formatter = DateFormatter()
formatter.timezone = TimeZone(abbreviation: "GMT")
formatter.dateFormat = "yyyyMMdd"
formatter.date(from: "20120423")
对于使用Swift 3的一行程序
Date.init(dateString: "2014-07-31", format: "yyyy-MM-dd", timeZone: TimeZone.init(abbreviation: "GMT")!)
模拟器或设备中设置了什么区域。它将默认为该时区。它与时区有关。。。差异可能只有几个小时(),甚至只有一个小时,就像
2017-06-02 00:00:00 GMT+1
等于2017-06-01 23:00:00 GMT+0
,如果你关心年-月-日的值,这似乎是短了一天。真的很有帮助的朋友!!!从最后一天开始,我一直在解决这个问题,而这个简单的句型起了作用:)
Date.init(dateString: "2014-07-31", format: "yyyy-MM-dd", timeZone: TimeZone.init(abbreviation: "GMT")!)