【发布时间】:2016-07-05 17:27:57
【问题描述】:
我有这种日期格式为“2016-03-16”的 NSString,我添加了以下代码以正确的 NSDate 格式获取相同的日期,但它返回“2016-03-15 18:30:00 +0000”。如何在 NSDate 中获得相同的“2016-03-16”?
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd";
NSString *datePart = [dateFormatter stringFromDate:dateFromString];//2016-03-16
NSDate *dateValue = [dateFormatter dateFromString:datePart];
NSLog(@"%@----",dateValue); //" 2016-03-15 18:30:00 +0000
【问题讨论】:
-
NSDate 代表确切的日期,大多数人将其称为日期和时间。 3 月 16 日是对日期和时间的不准确描述。系统做出一个假设,认为您的意思是设备的 3 月 16 日凌晨 12 点,并以格林威治标准时间返回该日期和时间。在使用代码解决问题之前,请确保您准确了解您希望在应用中使用的时间。
标签: ios objective-c nsdate nsdateformatter