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

Bli*_*ios 0 objective-c nsdateformatter ios

我的日期是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];
Run Code Online (Sandbox Code Playgroud)

我的要求是以指定格式获取前2天,前14天等前几天的日期.但我得到fromDateStr空字符串.任何建议将不胜感激.

Aks*_*hah 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);
Run Code Online (Sandbox Code Playgroud)

输出是:

Date = 2012-12-26T14:55:36.702Z
Run Code Online (Sandbox Code Playgroud)