如何在 NSDateComponents 上设置时区

How to set the timezone on NSDateComponents

我正在尝试使用 NSDateComponents 封装时间。但它给了我 1979-05-10 08:30:00 +0000....应该为 [=12 设置什么值=] 给我当地时间 (GMT+2) 的小时数,应该是 1979-05-10 10:30:00 +0000

NSDateComponents *comp = [[NSDateComponents alloc] init];
[comp setYear:1979];
[comp setMonth:5];
[comp setDay:10];
[comp setHour:10];
[comp setMinute:30];
[comp setTimeZone:];

您可以使用 +(NSTimeZone) timeZoneForSecondsFromGMT:。 要将小时转换为秒,请乘以 3600。

示例:

格林威治标准时间+2

[NSTimeZone timeZoneForSecondsFromGMT:3600*2]

对于 GMT-2

[NSTimeZone timeZoneForSecondsFromGMT:-3600*2]

获取您设备的本地时区:

[NSTimeZone localTimeZone]