我正在尝试解析
2013-01-23T22:46:29.564Z
进入NSDate:
NSDate *date = [GeneralHelper getDateFromDateString:expiryDateASStr];
if(date != nil) {
printf("\n PARSED DATE %s", [date.description UTF8String]);
} else {
printf("\n failed to parse");
}
但它失败了,我怎么能让它发挥作用?谢谢!
答案 0 :(得分:4)
使用NSDateFormatter
NSString * dateString = @"2013-01-23T22:46:29.564Z";
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:SS.SSS'Z'"];
NSDate * date = [dateFormatter dateFromString:dateString];
答案 1 :(得分:4)
就像@Gabriele所说,使用NSDateFormatter
是可行的方法。以下内容适用于您,包括日期格式:
NSDateFormatter* df = [[NSDateFormatter alloc] init];
[df setLocale:[NSLocale currentLocale]];
[df setCalendar:[NSCalendar currentCalendar]];
[df setTimeZone:[NSTimeZone defaultTimeZone]];
[df setDateFormat:@"yyyy-MM-dd'T'HH:mm:SS.SSS'Z'"];
NSLog(@"%@", [df dateFromString:expiryDateASStr]);
除非您希望在“年度周”日历中使用年份,否则请勿使用大写字母“YYYY”。大多数用例“yyyy”是指定年份的正确方法。