0
创建NSCalendar以使其时区为PST的方式是什么?将NSCalendar创建为PST时区
嗯,这仍然是这种情况如果iPhone在LA(PST)或纽约(EST)?代码是否会根据设备的位置/时区进行调整?
创建NSCalendar以使其时区为PST的方式是什么?将NSCalendar创建为PST时区
嗯,这仍然是这种情况如果iPhone在LA(PST)或纽约(EST)?代码是否会根据设备的位置/时区进行调整?
首先,如果你使用currentCalendar
日历,那么这将是对用户的当前时区,所以如果你明确指定的日历时区那么它将有一个时区,所以,例如:
NSCalendar *cal = [NSCalendar currentCalendar];
NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"US/Pacific"];
[cal setTimeZone:zone];
如果你想与用户的当前时区日历,那么你忽略了时区的设置。
如果你想响应该用户的设置中更改日历,然后你就会得到一个autoUpdatingCurrentCalendar
:
NSCalendar *cal = [NSCalendar autoUpdatingCurrentCalendar];
我不知道你是什么意思“如果iPhone在不同的时区” 。你问了如何在特定时区获得日历;一旦你设置了它与该日历实例保持一致的时区。如果要让日历报告用户的时区,请使用currentCalendar
或autoUpdatingCurrentCalendar
,并且不指定时区。
所以,如果一个人在洛杉矶下午2:05,另一个在纽约,在下午5:05,我设置日历是PST,然后当我写我的服务器两次都将是下午2:05正确的吗? – cdub 2014-09-24 23:00:30
问题是*你在写什么*给服务器。一个时间点(一个'NSDate')是相同的时间点,不管你最终决定用什么时区表示它。如果你把它变成一个*字符串*(例如使用一个'NSDateFormatter',那么在那一点上时区即将生效)。 – Petesh 2014-09-25 07:22:13
我把它变成一个字符串(代码)以4小时为增量跟踪事物组 – cdub 2014-09-26 00:35:48