是否可以修改Xcode日志控制台以在本地时区输出时间而不是GMT?
我使用以下代码:
NSDateComponents *comp = [[NSDateComponents alloc] init];
[comp setYear:1979];
[comp setMonth:5];
[comp setDay:10];
[comp setHour:10];
[comp setMinute:30];
[comp setSecond:0];
[comp setTimeZone:[NSTimeZone localTimeZone]];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *dateOfBirth = [gregorian dateFromComponents:comp];
NSLog(@"\nDate of birth in GMT %@\n\n", dateOfBirth);
这会在日志控制台中生成以下输出:
Date of birth in GMT 1979-05-10 08:30:00 +0000
当您以这种方式评估NSDate时,它实际上调用description
方法,该方法以UTC格式返回日期。如果你想向你的用户显示一个日期,你应该使用NSDateFormatter
,但是对于简单的日志记录你可以使用descriptionWithLocale:
-
NSLog(@"\nDate of birth in local time zone %@\n\n", [dateOfBirth descriptionWithLocale:[NSLocale currentLocale]]);