0

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

4

1 回答 1

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
于 2012-12-26T09:14:09.507 回答