我可以使用一个考虑夏令时的时区吗?我知道"EDT"是夏令时,"EST"不是。有没有我可以使用的时区可以自动检测日期时间是否为夏令时?"ET"或"America/New_York"是否有效?
编辑::
抱歉应该更清楚。我想取一个日期并将其转换为东部时区,但我希望它考虑到东部时区的日期是否为夏令时。
NSDate对象表示独立于任何时区或夏令时的时间点。NSTimeZone对象将能够获取NSDate对象并确定其时区中的时间,如果该时区使用夏令时,则计算夏令时。
"America/New_York"是一个使用夏令时的时区,因此,如果您使用设置为"America/NNew_York(美国/纽约)"时区的NSDateFormatter显示您的NSDate,它将考虑夏令时。
我过去使用过"America/New_York",这应该有效。
大多数国家/地区都使用使用夏令时的时区!
以国家/城市格式设置正确的时区
设置正确的时区后:
使用NSTimeZone:isDaylightSavingTimeForDate
:
返回一个布尔值,该值指示接收器在给定日期是否使用夏令时。
- (BOOL)isDaylightSavingTimeForDate:(NSDate *)aDate