当前位置: 首页 > 面试题库 >

iOS NSDate()返回错误的时间

公孙巴英
2023-03-14
问题内容

我正在尝试使用获取Swift中的当前日期NSDate()。创建断点并停止应用程序时,我发现设备的系统时间相差3个小时。应用程序正在真实的iPhone上运行。如何解决这个问题?

我还确保在App Delegate中编写以下内容:

NSTimeZone.setDefaultTimeZone(NSTimeZone(name: "Europe/Kiev")!)

但这仍然行不通。


问题答案:

它不会返回错误的时间。它返回正确的时间。NSDate没有任何时区信息。现在,当我们调用NSDate()时,我的计算机和您的计算机将报告完全相同的时间。

NSLog在UTC中显示NSDate。这就是它所显示的。因此,如果我们俩现在都致电NSLog,您的计算机将记录与我相同的日期和时间。因为它是相同的日期和时间。

如果要处理NSDate(例如,向用户显示日期和时间),请使用NSCalendar。NSCalendar会将世界各地都相同的NSDate转换为您想要在用户界面中显示的值,伦敦或基辅的值将有所不同。如果我现在看手表,将会看到与您看到的时间不同的时间,这就是NSCalendar的目的。



 类似资料:
  • 基类控制器里有error方法,用于api的错误消息返回输出 /** * 操作错误跳转的快捷方法 * @access protected * @param mixed $msg 提示信息,若要指定错误码,可以传数组,格式为['code'=>您的错误码,'msg'=>'您的错误消息'] * @param mixed $data 返回的数据 * @par

  • 我在Spring中有REST API作为后端,Angular 2作为前端。

  • 我是JS的学生。我有一段代码返回了一个错误。 这是返回的语法错误。你们能解释一下我做错了什么吗?

  • PHP 5.2.17。服务器上的时间是9:40,时区是欧洲/莫斯科: php.ini时区设置为:date.timezone欧洲/莫斯科 date_default_timezone_set()设置的时区是欧洲/莫斯科 但是date()函数返回一小时后的时间: 输出: 我该如何解决这个问题?我已经尝试安装了最新的 /usr/share/zoneinfo,结果相同

  • 问题内容: 假设我有一个像 然后在主要我有代码 显然,无论json格式不同,上述代码都会产生nil错误。Go中的json.Unmarshal()什么时候返回错误? 问题答案: 如果源中的值与目标中的值不对应,则JSON解码器不会报告错误。例如,如果源包含“状态”字段,这不是错误,但目标没有。 在其他情况下,Unmarshal函数确实会返回错误: 语法错误 类型不匹配 游乐场的例子

  • 本文向大家介绍Node.js 发生错误时返回查询,包括了Node.js 发生错误时返回查询的使用技巧和注意事项,需要的朋友参考一下 示例 err发生错误时,可以将执行的查询附加到对象上: