如何将 +1 添加到当前时区? [关闭]
Posted
技术标签:
【中文标题】如何将 +1 添加到当前时区? [关闭]【英文标题】:How do I add +1 to current timezone? [closed] 【发布时间】:2014-06-03 02:12:08 【问题描述】:例如我有这个代码:
[self.df setDateFormat:@"z"]
以GMT
输出
我想要它的输出为GMT+1
或GMT-4
到GMT-3
或GMT+9
到GMT+10
NSTimeZone
可以吗?
【问题讨论】:
查找NSDateFormatter
,该文档和许多关于 SO 的示例。你试过什么?
令人困惑的问题。是否需要追加字符串或偏移日期对象?
是的,可以使用 NSTimeZone。另一方面,如果你只是相应地使用 NSDate 和 NSLocale,它甚至可能根本不需要打扰。但是如果没有任何代码,您几乎无法期望对问题的“如何”部分有一个好的答案
你试过我的答案了吗?
【参考方案1】:
我已通过以下操作使其工作。
NSTimeZone *timeZone = [NSTimeZone localTimeZone] ;
获取我的本地时区。
在NSTimeZone类中,有一个名为secondsFromGMT
的方法。来自文档:
它返回接收器之间的当前差异(以秒为单位) 和格林威治标准时间。
我在 GMT+02,在我的情况下它返回 7200。因为 7200 以秒为单位,我的时区和格林威治之间有两个小时的差异。
然后,您可以使用timeZoneForSecondsFromGMT
方法创建一个新时区。因为你想增加一小时,你需要增加 3600 秒到 GMT。所以,这里是代码。
NSTimeZone *localTimeZone = [NSTimeZone localTimeZone];
NSInteger secondsFromGMT = [localTimeZone secondsFromGMT];
NSTimeZone *timeZoneYouWanted = [NSTimeZone timeZoneForSecondsFromGMT:secondsFromGMT + 3600];
我测试过 timeZoneYouWanted 是 GMT+03。
【讨论】:
谢谢!稍微调整了一下:)以上是关于如何将 +1 添加到当前时区? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章