日期格式为2012-12-20T16:00:00.000Z?

时间:2012-12-26 09:08:46

标签: objective-c ios nsdateformatter

我的日期是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为空字符串。 任何建议都将不胜感激。

1 个答案:

答案 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