错误的日期显示在iPhone的模拟器中

时间:2012-03-06 07:55:09

标签: ios datetime ios5

我正在使用此代码

NSDate *today = [NSDate date];
NSLog(@"%@",today);

在控制台中显示

0024-03-06 07:51:46 +0000

除了一年之外,一切都很好。它显示错误的一年(0024)。应该是(2012)。任何人都可以告诉我如何获得正确的代码。

我的mac系统日期是正确的。

1 个答案:

答案 0 :(得分:10)

请在Settings -> General -> International -> Calendar ->

中查看您的iPhone模拟器日历设置

您当前的日历是日文,如果您将其设置为格里高利,那么您的问题就会解决。

如果您不想更改模拟器设置,也可以使用NSDateFormatter更改它 -

    NSDate *today = [NSDate date];

    NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
    [dateFormat setCalendar:calendar];
    [dateFormat setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
    NSLog(@"date = %@",[dateFormat stringFromDate:today]);