0

我们如何将 GMT 格式的 NSDate 对象转换为具有当前语言环境/设备设置的日期格式?

例如,如果设备位于美国并且在 PDT 时区,那么我想将 GMT 时间转换为其等效的 PDT 时间。

4

2 回答 2

1

严格来说,您不能将一个时区转换NSDate为另一个时区,因为NSDate没有任何时区概念。一个NSDate对象只表示(绝对)时间中的一个点,而与时区无关。

每当您想向用户显示日期时,您都应该创建一个NSDateFormatter. 默认情况下,它会自动显示用户所在时区的时间。您可以使用 覆盖它-[NSDateFormatter setTimeZone:]

于 2011-04-06T12:02:42.483 回答
0

只需使用传入适当时区的NSDate方法即可。descriptionWithCalendarFormat:timeZone:locale:如果您只是使用description获取当前时区的日期/时间的方法(因此,如果设备设置为 PDT,则时间将以 PDT 为单位)。

于 2011-04-06T07:24:33.403 回答