【问题标题】:Convert Short Zulu format date to NSDate将 Short Zulu 格式日期转换为 NSDate
【发布时间】:2012-06-22 13:03:04
【问题描述】:

我在将短 Zulu 日期格式转换为 NSDate 对象时遇到问题。我找到了一些转换祖鲁字符串的答案,但我的看起来像:

20111210T1000

根据我的研究,我正在尝试做:

NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyyMMdd'T'HHmmss Z"];
NSDate *date = [f dateFromString:[str stringByReplacingOccurrencesOfString:@"Z" withString:@" +0000"]];
[f release];

我已经尝试了很多方法,但我的约会仍然为零......

我应该如何设置我的 NSDateFormatter?

【问题讨论】:

  • 如果问题是针对 OS X 而不是 iOS,请将 iOS 标签替换为 cocoa。
  • 你正在通过 +0000 失去 DST 偏移

标签: objective-c ios nsstring nsdate


【解决方案1】:

这是一个快速修复,在您的日期字符串中您错过了格式中的时区,您应该将(此处为巴黎)附加到您的字符串中,它应该可以工作。还有格式不对。

 NSDateFormatter* df = [[NSDateFormatter alloc]init];
 [df setDateFormat:@"yyyyMMdd'T'SSSZ"];
 NSString* str = @"20111210T1000-0100";   // NOTE -0100, GMT +1 Paris zone
 NSDate* date = [df dateFromString:str];
 NSLog(@"%@", date); 

【讨论】:

    猜你喜欢
    • 2016-09-15
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多