iOS 中的夏令时到标准时区的转换
Daylight to Standard timezone conversion in iOS
有些国家实行夏令时,但我想获取时区名称而不考虑夏令时。
简而言之,我想要这些国家的标准时间而不是夏令时。
有什么方法可以转换这个或其他任何东西吗?
P.S。我想要这个是因为我的服务器要求。
//---------------------------------------- ----------------------
我在apple看到过这个参考
+ (instancetype)timeZoneForSecondsFromGMT:(NSInteger)seconds
Discussion The name of the new time zone is GMT +/– the offset, in
hours and minutes. Time zones created with this method never have
daylight savings, and the offset is constant no matter the date.
但我想知道它对我的问题有何用处?因为我想要没有夏令时的时区名称而不是任何带有偏移量的时间。
如果您只需要与 GMT 相关的时区而不需要 考虑夏令时,最简单的选择是:
使用您可疑时区的 'daylightSavingTimeOffset' 查找夏令时偏移量。
从时区的 GMT 偏移量中减去该值。
使用现在调整后的时差创建一个新时区。
如果您需要标准时区的 name,最简单的方法可能就是在时区中查找 "DST" 和 "Daylight" description 然后选择与 DST 时区匹配的单词数量最多的时区。这可能不是最优雅的解决方案,但它适用于大多数时区。
原来是这个
typedef enum : NSInteger {
NSTimeZoneNameStyleStandard,
NSTimeZoneNameStyleShortStandard,
NSTimeZoneNameStyleDaylightSaving,
NSTimeZoneNameStyleShortDaylightSaving,
NSTimeZoneNameStyleGeneric,
NSTimeZoneNameStyleShortGeneric
} NSTimeZoneNameStyle;
枚举为我解答了。我的错,我应该早点读到这篇文章。
有些国家实行夏令时,但我想获取时区名称而不考虑夏令时。
简而言之,我想要这些国家的标准时间而不是夏令时。
有什么方法可以转换这个或其他任何东西吗?
P.S。我想要这个是因为我的服务器要求。
//---------------------------------------- ----------------------
我在apple看到过这个参考
+ (instancetype)timeZoneForSecondsFromGMT:(NSInteger)seconds
Discussion The name of the new time zone is GMT +/– the offset, in hours and minutes. Time zones created with this method never have daylight savings, and the offset is constant no matter the date.
但我想知道它对我的问题有何用处?因为我想要没有夏令时的时区名称而不是任何带有偏移量的时间。
如果您只需要与 GMT 相关的时区而不需要 考虑夏令时,最简单的选择是:
使用您可疑时区的 'daylightSavingTimeOffset' 查找夏令时偏移量。
从时区的 GMT 偏移量中减去该值。
使用现在调整后的时差创建一个新时区。
如果您需要标准时区的 name,最简单的方法可能就是在时区中查找 "DST" 和 "Daylight" description 然后选择与 DST 时区匹配的单词数量最多的时区。这可能不是最优雅的解决方案,但它适用于大多数时区。
原来是这个
typedef enum : NSInteger {
NSTimeZoneNameStyleStandard,
NSTimeZoneNameStyleShortStandard,
NSTimeZoneNameStyleDaylightSaving,
NSTimeZoneNameStyleShortDaylightSaving,
NSTimeZoneNameStyleGeneric,
NSTimeZoneNameStyleShortGeneric
} NSTimeZoneNameStyle;
枚举为我解答了。我的错,我应该早点读到这篇文章。