Ank*_*ava 1 iphone objective-c nsdate nsdateformatter ios
我有一个UTC格式的字符串日期:
"2012-11-20T05:23:02.34"
现在我想要UTC NSDate对象......我实现了这个功能.
+ (NSDate *)utcDateFromString:(NSString *)string withFormat:(NSString *)format {
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
inputFormatter.timeZone =[NSTimeZone timeZoneWithAbbreviation:@"UTC"];
[inputFormatter setDateFormat:format];
NSDate *date = [inputFormatter dateFromString:string];
[inputFormatter release];
return date;
}
Run Code Online (Sandbox Code Playgroud)
并称之为......
NSDate* submittedDate =[NSDate utcDateFromString:submittedDateString withFormat:@"YYYY-MM-dd'T'HH:mm:ss.SS"];
Run Code Online (Sandbox Code Playgroud)
但是这会返回NSDate描述.
2011-11-20 05:23:02 +0000
现在,如果你注意到日期有一年的差异......任何人都可以解释为什么会发生这种情况......?
谢谢你的帮助.
在dateformmater中,使用yyyy而不是YYYY
它应该是
NSDate* submittedDate =[NSDate utcDateFromString:submittedDateString withFormat:@"yyyy-MM-dd'T'HH:mm:ss.SS"];
Run Code Online (Sandbox Code Playgroud)
这将解决问题.
在以下链接中,搜索YYYY.
它使用yyyy来指定年份组件.一个常见的错误是使用YYYY.yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份("年度周").在大多数情况下,yyyy和YYYY会产生相同的数字,但它们可能会有所不同.通常,您应该使用日历年.
| 归档时间: |
|
| 查看次数: |
539 次 |
| 最近记录: |