创建一个NSCalendar为PST时区

时间:2014-09-24 08:13:31

标签: ios iphone ios7 nsdate nscalendar

创建NSCalendar以使其时区为PST的方法是什么?

如果iPhone在洛杉矶(PST)或纽约(EST),情况仍然如此?代码是否会根据设备的位置/时区进行调整?

1 个答案:

答案 0 :(得分:0)

首先,如果您使用currentCalendar获取日历,那么它将用于用户的当前时区,因此如果您明确指定日历的时区,那么它将具有该时区,因此,例如:

NSCalendar *cal = [NSCalendar currentCalendar];
NSTimeZone *zone = [NSTimeZone timeZoneWithName:@"US/Pacific"];
[cal setTimeZone:zone];

如果您想要一个包含用户当前时区的日历,则省略时区设置。

如果您想要一个响应用户设置更改的日历,那么您将获得autoUpdatingCurrentCalendar

NSCalendar *cal = [NSCalendar autoUpdatingCurrentCalendar];

我不确定你的意思是'如果iphone处于不同的时区'。您询问了如何在特定时区获取日历;一旦设置了时区,它就会保留在该日历实例中。如果您希望日历报告用户的时区,请使用currentCalendarautoUpdatingCurrentCalendar并且不指定时区。