-5

我想转换2013-07-10T21:48:09.000Z10.7.2013使用nsdateformatter.

我已经尝试过一些教程,但我似乎无法弄清楚该怎么做,我将如何正确地进行这种转换?

任何帮助是极大的赞赏。

我试过这个,但我只得到一个(null)

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:000Z"];
    NSDate *theDate = [dateFormatter dateFromString:stringDate];
    NSLog(@"%@",[dateFormatter stringFromDate:theDate]);
4

1 回答 1

1

首先,你的日期格式是错误的——第二行应该是[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];——也就是说,你需要在 thess.之后mm:但在000Z. 这将为您提供正确的 NSDate。

接下来,您需要使用格式创建一个新的日期格式化程序@"dd.M.yyyy"(或者@"d.M.yyyy"如果您想删除前导零,如果日期也是一位数)并stringFromDate:为 NSLog 调用它。

回顾一下,整个代码块将是

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];
NSDate *theDate = [dateFormatter dateFromString:stringDate];

NSDateFormatter *printFormatter = [[NSDateFormatter alloc] init];
[printFormatter setDateFormat:@"dd.M.yyyy"];
NSLog(@"%@",[printFormatter stringFromDate:theDate]);
于 2013-07-12T18:40:03.547 回答