objective-c - 如何在 NSDateComponents 上设置时区

标签 objective-c nsdatecomponents

我正在尝试使用 NSDateComponents 来封装时间..但它给了我 1979-05-10 08:30:00 +0000....应该为 setTimeZone: 设置什么值给我本地时间 (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。

示例:

对于 GMT+2

[NSTimeZone timeZoneForSecondsFromGMT:3600*2]

对于 GMT-2

[NSTimeZone timeZoneForSecondsFromGMT:-3600*2]

要获取您设备的本地时区:

[NSTimeZone localTimeZone]

关于objective-c - 如何在 NSDateComponents 上设置时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37953523/

相关文章:

ios - dateByAddingComponents :toDate:options return nil? 什么时候

cocoa-touch - 从 1600 年到 NSDate 的日期?

ios - NSDateFormatter不适用于单个硬编码日期

ios - SpriteKit : SKScene Freeze when modal view pesented

ios - 调整文本大小以适应 UITextView

ios - 我有很多格式,如 ####-##-##、(###)-###-####,我想将文本字段的值更改为给定格式,如何实现。?

Objective-C:查找对象在带有索引的数组中出现的次数

swift - 创建 NSDate 并设置 AM 或 PM

iphone - 仪器中的红线

ios - 在开始日期和结束日期之间获取每月的第三个星期六