【问题标题】:how to convert datetime format in NSString?如何在 NSString 中转换日期时间格式?
【发布时间】:2011-01-05 19:02:15
【问题描述】:

我从 xml 2009-11-23T05:24:41.000Z 中获得了价值。

现在我想显示这样的字符串:Wed, Nov 4, 2009 8:00 PM - Wed, Nov 4, 2009 9:00 PM

怎么可能?

【问题讨论】:

    标签: iphone objective-c nsdate nsdateformatter


    【解决方案1】:

    使用NSDateFormatter的方法-dateFromString:-stringFromDate:

    【讨论】:

      【解决方案2】:

      你会想做这样的事情:

      NSDateFormatter * inputFormatter = [ [ [ NSDateFormatter alloc ] init ] autorelease ];
      NSDateFormatter * outputFormatter = [ [ [ NSDateFormatter alloc ] init ] autorelease ];
      [ inputFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'.000Z'" ];
      [ outputFormatter setDateFormat:@"EEE, MMM d, yyyy h:mm a" ]; 
      
      NSString * inputString = @"2009-11-23T05:24:41.000Z";
      NSDate * inputDate = [ inputFormatter dateFromString:inputString ];
      NSString * outputString = [ outputFormatter stringFromDate:inputDate ];
      
      // outputString = @"Mon, Nov 23, 2009 05:24 AM"
      

      有关如何配置NSDateFormatter 的更多信息,请参阅Unicode date format patterns guide

      【讨论】:

      • 这个答案实际上是不正确的。 inputFormatter 的格式需要为 yyyy-MM-dd'T'HH:mm:ss.SSSZ
      猜你喜欢
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2011-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多