【问题标题】:Proper way to convert NSString to NSDate on iOS?在 iOS 上将 NSString 转换为 NSDate 的正确方法?
【发布时间】:2011-07-31 21:57:02
【问题描述】:

我一直在使用此方法将常规 NSString 对象转换为 NSDate,但尝试向 Apple 提交更新但被拒绝。在 iOS 中还有什么方法可以做到这一点?

NSString *date_str = @"2011-08-12T12:20:00Z";
NSDate *the_date = [NSDate dateWithNaturalLanguageString:date_str locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];

提前致谢!

【问题讨论】:

    标签: objective-c ios xcode nsdate


    【解决方案1】:

    使用NSDateFormatter。简要示例如下:

    ...
    NSString* dateString = "2011-08-12T12:20:00Z";
    NSDateFormatter* fmt = [NSDateFormatter new];
    [fmt setDateFormat:"yyyy-MM-dd'T'HH:mm:ss'Z'"];
    NSDate* date = [fmt dateFromString:dateString];
    [fmt release];
    ...
    

    请注意,根据 Unicode Technical Standard #35NSDateFormatter 本身并不支持单字母时区标识符(即 Z 代表祖鲁时间)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2015-08-01
      • 2015-02-24
      • 2011-04-24
      • 2017-04-23
      • 2021-09-11
      相关资源
      最近更新 更多