【问题标题】:Need help for specific date format需要特定日期格式的帮助
【发布时间】:2011-10-24 09:40:06
【问题描述】:

我有下一个日期字符串,

2011-08-30T11:44:54.345-04:00

帮我写出正确的格式,用dateFromString:解析它

【问题讨论】:

    标签: iphone ios date date-format


    【解决方案1】:

    你需要去掉最后一个冒号(时区,“-04:00” -> “-0400”),因为Z 会取“-0800”之类的东西,那么你可以试试这个:

    NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
    NSDate *date = [dateFormat dateFromString:dateString];
    [dateFormat release];
    

    有关日期格式的更多信息,请参阅this page

    【讨论】:

      【解决方案2】:

      这是遵循 tilo 的回答,但添加的内容很少。

      NSString *dateString = @"2011-08-30T11:44:54.345-04:00";
      NSRange range = [dateString rangeOfString:@":" options:NSBackwardsSearch];
      dateString = [dateString stringByReplacingOccurrencesOfString:@":" withString:@"" options:0 range:range];
      NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
      [dateFormat setDateFormat:@"yyyy-MM-ddEHH:mm:ss.SSSZ"];
      NSDate *date = [dateFormat dateFromString:dateString];
      [dateFormat release];
      

      你会得到所需的格式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-01
        • 2012-02-24
        • 2020-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多