我从我的 Web API 获得以下 NSString"2013-12-03T19:13:56+00:00"
我想获取这个 NSString 并使用 NSDateFormatter 创建相应的 NSDate。对于我的一生,我无法弄清楚可以帮助我做到这一点的格式化字符串。我总是零。这是我正在尝试的:
+ (NSDate *)dateFromUTCFormattedDateStringNSString *)dateString
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat"YYYY-MM-ddThh:mm:ssTZD"];
// Apply the date formatter and return it.
return [dateFormatter dateFromString:dateString];
}
一个问题是嵌入“:”的时区。使用以下日期格式:
@"yyyy-MM-dd'T'HH:mm:sszzz"
注意 'zzz' 代替了 'TZD'。
请参阅 ICU 用户指南:Formatting Dates and Times
测试:
NSString *dateString = @"2013-12-03T19:13:56+00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat"yyyy-MM-dd'T'HH:mm:sszzz"];
NSDate *dateFromString = [dateFormatter dateFromString:dateString];
NSLog(@"dateFromString: %@", dateFromString);
NSLog 输出:
dateFromString: 2013-12-03 19:13:56 +0000
关于ios - 将时区感知 .isoformat() 日期时间字符串转换为 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339441/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |