我们如何将 GMT 格式的 NSDate 对象转换为具有当前语言环境/设备设置的日期格式?
例如,如果设备位于美国并且在 PDT 时区,那么我想将 GMT 时间转换为其等效的 PDT 时间。
我们如何将 GMT 格式的 NSDate 对象转换为具有当前语言环境/设备设置的日期格式?
例如,如果设备位于美国并且在 PDT 时区,那么我想将 GMT 时间转换为其等效的 PDT 时间。
严格来说,您不能将一个时区转换NSDate
为另一个时区,因为NSDate
没有任何时区概念。一个NSDate
对象只表示(绝对)时间中的一个点,而与时区无关。
每当您想向用户显示日期时,您都应该创建一个NSDateFormatter
. 默认情况下,它会自动显示用户所在时区的时间。您可以使用 覆盖它-[NSDateFormatter setTimeZone:]
。
只需使用传入适当时区的NSDate
方法即可。descriptionWithCalendarFormat:timeZone:locale:
如果您只是使用description
获取当前时区的日期/时间的方法(因此,如果设备设置为 PDT,则时间将以 PDT 为单位)。