使用字符串格式“Sun, 08 Jan 2012 13:57:38 +0000”将 NSString 转换为 NSDate

Posted

技术标签:

【中文标题】使用字符串格式“Sun, 08 Jan 2012 13:57:38 +0000”将 NSString 转换为 NSDate【英文标题】:Convert NSString to NSDate with string format "Sun, 08 Jan 2012 13:57:38 +0000" 【发布时间】:2012-01-08 14:16:43 【问题描述】:

我实际上检索格式为“Sun, 08 Jan 2012 13:57:38 +0000”的字符串日期 为此,我使用 dateFormat "EEE, dd MMM yyyy HH:mm:ss ZZZ" 但它不起作用......

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss ZZZ"];
NSLog(@"%@",[dict objectForKey:@"created_at"]);
NSDate *dateFromString = [dateFormatter dateFromString:[dict objectForKey:@"created_at"]];
NSLog(@"%@",dateFromString);

对于第一个 NSLog,它显示“Sun, 08 Jan 2012 13:57:38 +0000” 但第二个是(null)

我不明白我错在哪里。 如果您发现有问题,请告诉我。

谢谢

【问题讨论】:

【参考方案1】:

您的日期字符串是英文的。如果您的设备或模拟器区域设置为另一种语言,则可能是问题所在。如果是这样,您需要将 NSDateFormatter 的语言环境设置为英语。

像这样:

[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];

【讨论】:

以上是关于使用字符串格式“Sun, 08 Jan 2012 13:57:38 +0000”将 NSString 转换为 NSDate的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 thymeleaf 格式化 HTML 中的数字字符串

JAVA字符串格式化String.format()的使用

格式化操作

Python基础(使用print()函数输出格式化字符串)

使用 JSON 格式的 log4j 记录 json 字符串消息,而不用引号破坏格式

%格式化输出