0

简单到

     NSDateFormatter *df  = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd/MM/yyyy"];
     NSLog(@"Current date in event %@ %@",currentDate,[df stringFromDate:currentDate]);

但是在日志中

    Current date in event 2013-10-01 22:00:00 +0000 02/10/2013

为什么?

4

1 回答 1

3

当您登录时,NSDate它始终以 UTC 时间打印。当您使用stringFromDate:时,除非您更改日期格式化程序的时区,否则您将获得本地时间的日期。

在这种情况下,您位于比 UTC 早两小时的时区(假设您在意大利)。

由于NSDate对象是 2013 年 10 月 1 日 22:00 UTC,这与 2013 年 10 月 2 日午夜 UTC+2 相同。这就是为什么您会看到显示 10 月 2 日的字符串。

这是另一种看待它的方式。您没有看到 1 天的差异。由于您的时区,您实际上看到了 2 小时的差异。从您的时间午夜到 0200 时,您会看到似乎有 1 天的差异。

于 2013-10-01T17:33:53.543 回答