【发布时间】:2014-07-31 06:11:16
【问题描述】:
我的任务是用时间解析字符串到 NSDate。我用下面的代码做得很好:
NSString* timeStr = @"15:00:00"
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
[formatter setDateFormat:@"HH:mm:ss"];
NSDate* result = [formatter dateFromString:timeStr];
但结果我得到 2000-01-01 15:00:00 CET,我不明白为什么日期设置为 2000-01-01,而不是2001-01-01(参考日期)或 1970-01-01。而且 2000-01-01 似乎不是随机值... :)
【问题讨论】:
-
如何打印
NSDate对象? -
当您没有明确设置日期时,日期未定义,在某些情况下(=架构)它是
2000-01-01,其他一些情况是0012-01-01,等等......你不能依赖如果未定义,则为特定值。 -
如何打印?使用 NSLog?甚至我不需要打印我的 NSDate 对象 - 我只是在 XCode @holex 中观看它如何为我的架构设置默认年份?
标签: ios objective-c nsdate nsdateformatter