是否可以修改Xcode日志控制台以在本地计算机时区而不是GMT中输出时间?

问题描述 投票:0回答:1

是否可以修改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
objective-c xcode logging
1个回答
1
投票

当您以这种方式评估NSDate时,它实际上调用description方法,该方法以UTC格式返回日期。如果你想向你的用户显示一个日期,你应该使用NSDateFormatter,但是对于简单的日志记录你可以使用descriptionWithLocale: -

NSLog(@"\nDate of birth in local time zone %@\n\n", [dateOfBirth descriptionWithLocale:[NSLocale currentLocale]]);
© www.soinside.com 2019 - 2024. All rights reserved.