iPhone - 如何获取时区偏移?
我们有 NSTimeZone 类,它可以告诉您有关时区的更多信息。 但我只想得到时间的偏移量。例如:+05.30 是 Inida 的偏移量 换句话说,时间相对于 UTC 的偏移。
以下代码的一个问题是它在 4.3 模拟器中崩溃,但在 4.2 模拟器中工作正常。因为 4.2 模拟器提供参考 GMT 的输出,而 4.3 模拟器提供参考 IST 的输出,所以
NSString* tzDescription = [[NSTimeZone systemTimeZone] description];
NSArray* tzArray = [tzDescription componentsSeparatedByString:@"GMT"];
NSString* gmtStr = [[tzArray objectAtIndex:1] substringToIndex:6];
我找不到通用的解决方案。
We have NSTimeZone class that tells more about the time zone.
But I want to get only the offset of the time. For example: +05.30 is offset for Inida
In other words offset of time with reference to UTC.
One problem with following code is that it crashes with 4.3 simulator and works fine with 4.2 simulator. Because 4.2 simulator is giving output with reference to GMT and 4.3 simulator with reference to IST
NSString* tzDescription = [[NSTimeZone systemTimeZone] description];
NSArray* tzArray = [tzDescription componentsSeparatedByString:@"GMT"];
NSString* gmtStr = [[tzArray objectAtIndex:1] substringToIndex:6];
I couldn't find a solution that is generic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为你可以使用 NSDate 和 NSDateFormatter 类来获取时区偏移量。您可以按照以下方式进行操作。
所以现在在 zoneOffset 中你将拥有你需要的东西。
I think you can use NSDate and NSDateFormatter class to get the time zone offset. You can do it in following way.
So in zoneOffset now you will be having your required thing.