如果用户手动设置不同的时区,如何在iOS中获得正确的时区?

如果用户手动设置不同的时区,如何在iOS中获得正确的时区?,ios,objective-c,timezone,nstimezone,Ios,Objective C,Timezone,Nstimezone,即使我更改了设备中的时区,我也希望获得正确的时区 目前,我通过调用以下线路获得时区: [[NSTimeZone localTimeZone] name] 但是如果我更改了设备的时区,那么我会得到这个时区而不是当前时区。基本上你不能。如果用户通过为其iOS设备设置不同的时区来“撒谎”,那么您调用的每个API都将使用该时区 唯一可能的解决方案是获取用户的当前位置,并根据该位置查找时区。这需要Internet访问才能调用提供此信息的第三方API,当然还需要用户授予您的应用程序访问其位置的权限。这听起

即使我更改了设备中的时区,我也希望获得正确的时区

目前,我通过调用以下线路获得时区:

[[NSTimeZone localTimeZone] name]

但是如果我更改了设备的时区,那么我会得到这个时区而不是当前时区。

基本上你不能。如果用户通过为其iOS设备设置不同的时区来“撒谎”,那么您调用的每个API都将使用该时区

唯一可能的解决方案是获取用户的当前位置,并根据该位置查找时区。这需要Internet访问才能调用提供此信息的第三方API,当然还需要用户授予您的应用程序访问其位置的权限。

这听起来像是一个错误。在这种情况下,什么构成“正确”?例如,如果将其用于将数据记录到远程系统,则应使用标准化时间数据(例如UTC)并在显示端对其进行转换