我是否使用正确的格式来解析日期?
我有问题使用NSDateFormatter解析日期字符串。 我已经将下面的方法方法实现为NSDate类别。 输入是以下日期字符串Thu,22 Dec 2011 16:03:39 +0100并使用以下模式解析EEE,dd MMM yyyy HH:mm:ss ZZZ
问题是该方法返回nil
+(NSDate*) dateFromString:(NSString*)dateString pattern:(NSString*)pattern
{
NSDateFormatter *dateParser = [[NSDateFormatter alloc] init];
[dateParser setDateFormat:pattern];
NSDate *parsedDate = [dateParser dateFromString:dateString];
return parsedDate;
}
我查看了Stackoverflow和Internet上的其他地方,但未找到解决此问题的方法。
NSDateFormatter
对12/24小时显示,月份和星期几名称等区域设置非常聪明。如果您初始化日期格式化程序,它始终使用当前区域设置,但您可以手动设置区域设置。 您可以使用en_US_POSIX
语言环境标识符来取回不遵守语言环境设置的日期格式化程序,并始终使用相同的行为。
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
如果需要解析从服务器返回的日期字符串,这很方便(实际上也是必需的)。
如果你想在你的应用中显示日期字符串,你不应该直接使用-setDateFormat:
方法,顺便说一句。 使用+dateFormatFromTemplate:options:locale:
方法来获取正确的日期格式。
在某些语言中,这个月是在一天前写的,...
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"dd MMMM yyyy" options:0 locale:[NSLocale currentLocale]];
[dateFormatter setDateFormat:dateFormat];
链接地址: http://www.djcxy.com/p/35181.html
上一篇: Am I using the correct format pattern for parsing a date?