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

NSC*_*Cry 5 datetime ios ios5

我正在使用此代码

NSDate *today = [NSDate date];
NSLog(@"%@",today);
Run Code Online (Sandbox Code Playgroud)

在控制台中显示

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

一切都没关系,除了一年.它显示错误的一年(0024).应该是(2012).任何人都可以告诉我如何获得正确的代码.

我的mac系统日期是对的.

saa*_*nib 10

请检查您的iPhone模拟器日历设置 Settings -> General -> International -> Calendar ->

您当前的日历是日语,如果您将其设置为格里高利,那么您的问题将得到解决.

如果您不想更改模拟器设置,也可以使用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]);
Run Code Online (Sandbox Code Playgroud)