我试图从NSDate
获取NSString
个对象。问题在于,我losing
在此过程中的一天。
这是NSString
:2015-08-01
,以下是代码:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *result = [df dateFromString:dateString];
result
原来是2015-07-31 21:00:00 +0000
。
怎么样?我不明白。此外,21:00:00
来自哪里?无论在真实设备或模拟器上运行代码,我都能得到相同的结果。
知道为什么吗?我怀疑是timezone
问题。但是,我以dateString
格式获得UTC
,而我却没有改变它。想法?
答案 0 :(得分:2)
检查时区。
if (weakController.isAlive)
{
TableViewController controller = weakController.Target as TableViewController;
}
答案 1 :(得分:1)
设置时区将起到作用
NSString *dateString = @"2015-08-01";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *result = [df dateFromString:dateString];