如何将GMT格式的NSDate对象转换为具有当前区域设置/设备设置的日期格式?
例如,如果设备位于美国和PDT时区,那么我想将GMT时间转换为等效的PDT时间。
答案 0 :(得分:1)
严格来说,您无法将NSDate
转换为其他时区,因为NSDate
没有任何时区概念。无论时区如何,NSDate
对象只表示(绝对)时间内的单个点。
每当您想要向用户显示日期时,您应该创建NSDateFormatter
。默认情况下,它会自动在用户的时区中显示时间。您可以使用-[NSDateFormatter setTimeZone:]
覆盖此内容。
答案 1 :(得分:0)
只需使用传递到适当时区的NSDate
方法descriptionWithCalendarFormat:timeZone:locale:
即可。如果您只使用description
方法,则可获得当前时区的日期/时间(因此,如果设备设置为PDT,则时间将为PDT)。