ios - NSTimeZone isDaylightSavingTime 给出了错误的值

标签 ios objective-c dst nstimezone

目前GMT-0700(US/pacific)已进入夏令时

但我从 NSTimeZone 得到“否”

NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:secondsFromGMT]; //Getting timezone as GMT-0700 
BOOL isDaylightSavingTime = [timeZone isDaylightSavingTime]; //getting boolean value as NO

如何解决这个问题?

要求:我想知道,我的接收器是否正在使用 dayLightSavingTime。我将只获得接收器偏移值。我必须支持不同的时区 ()。执行此操作的最佳方法是什么

最佳答案

timeZoneForSecondsFromGMT 不够具体。

最准确的方法是使用(完整)区域名称创建时区:

NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"America/Los_Angeles"];

关于ios - NSTimeZone isDaylightSavingTime 给出了错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42785462/

相关文章:

ios - 如何在 Safari 部分自动开启 "Content Blocker"扩展?

ios - Swift Parse - 使用 PFQuery 或 QueryWithSubqueries 函数

objective-c - 使用 iOS SDK 4.2 的 UIWebView 中的 XSLT

iphone - 以下代码中需要帮助

php - WeBid : Timezones with daylight savings time not calculated correctly

java - 根据 DST 转换存储在 DB 中的时间

ios - 如何快速避免 AFNetworking 导致的内存泄漏

ios - PresentationButton 没有触发 Action 两次

ios - 如何在 iOS 中使用 Google Firebase 向特定用户发送推送通知?

algorithm - 确定日期是否在 DST 中的高效算法