如何获取当前时区的当前 NSDate?

How to get current NSDate in current timezone?

我需要在 NSDate 中获取当前时间,而不是 swift。我尝试像屏幕截图那样执行此操作,但最终的 nsdate 时区错误。

NSDate 没有时区。它记录了地球上的一个瞬间。它显示在特定时区。

NSDateFormatter 将在 NSDate 对象和日期字符串之间进行转换(双向)。

如果您在日期格式化程序中安装时区,那么它将使用该时区转换日期 to/from 字符串。如果您不指定时区,它将使用用户的当前时区。

如果您尝试使用 Swift print 语句或 NSLog 显示 NSDate,那么它将 显示 为 UTC。总是。

您发布的打印 strDate 的代码是正确的,strDate 是您使用日期格式化程序创建的日期字符串。 `print(localDate!) 行没有意义。

重复:NSDate 个对象没有时区。当您将它们记录到控制台时,它们将始终以 UTC 显示。如果您想在当地时区看到它们,那么您需要像现在一样使用日期格式化程序。