【问题标题】:Problems with nsdate conversionnsdate 转换的问题
【发布时间】:2012-11-15 11:48:13
【问题描述】:

我正在尝试将 nsstring 转换为 nsdate,但出现了奇怪的行为。

我尝试转换这些日期:

2012-11-14 13:35:05

2012-11-14 13:33:53

2012-10-22 12:56:27

2012-10-22 12:56:23

还有更多...

使用此代码:

NSString *createdString = [conversationFromServer objectForKey:@"created"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[formatter setTimeZone:gmt];
NSDate *created = [formatter dateFromString:createdString];

如您所见,日期具有相同的模式,但我无法转换第一个日期和第二个日期。如果我记录结果,字符串中的所有结果都是正确的,但在 nsdate 中,第一个和第二个是 nil。

有什么解决办法吗?提前致谢

【问题讨论】:

    标签: iphone objective-c ios nsdate


    【解决方案1】:

    使用大写的HH:

    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    

    【讨论】:

    • 就是这样!我不知道为什么它对所有人都有效,除了那两个日期......谢谢!。
    • 小写的 h 用于上午/下午 (1-12) 中的小时。由于最后两个日期在该范围内,因此它们可以工作。前两个有 13 个并且超出了该范围。
    猜你喜欢
    • 2013-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多