我的日期是2012-12-24 08:59:00 +0000,我希望它为2012-12-20T16:00:00.000Z 我尝试使用此代码
NSDateComponents *dayComponent = [[NSDateComponents alloc] init] ;
NSDate* now = [NSDate date];
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSDateFormatter* formatter = [NSDateFormatter alloc];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
dayComponent.day = -2;
NSDate* fromDate = [theCalendar dateByAddingComponents:dayComponent toDate:now options:0];
fromDateStr = [formatter stringFromDate:fromDate];
我的要求是以指定格式获取前2天,前14天等前几天的日期。
但我得到fromDateStr
为空字符串。
任何建议都将不胜感激。
答案 0 :(得分:9)
2012-12-20T16:00:00.000Z的日期格式为 YYYY-MM-dd'T'HH:MM:ss.SSS'Z'原
希望有所帮助。
如果这不能给你想要的结果,请告诉我。
以下是一个适合我的示例代码:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
NSString *str = [formatter stringFromDate:[NSDate date]];
NSLog(@"Date = %@",str);
输出结果为:
Date = 2012-12-26T14:55:36.702Z