【发布时间】:2014-09-15 01:12:51
【问题描述】:
在 Objective-c 中,以下代码使用 date API 生成 UTC 日期时间信息。
NSDate *currentUTCDate = [NSDate date]
然而,在 Swift 中,
let date = NSDate.date()
结果为本地日期和时间。
我有两个问题:
- 如何在
NSDate对象中获取 UTC 时间和本地时间(date提供本地时间)。 - 如何从
NSDate对象中获取秒数的精度。
编辑 1:感谢所有输入,但我不是在寻找 NSDateFormatter 对象或字符串值。我只是在寻找 NSDate 对象(但是我们将它们煮熟,但这是要求)。
参见第 1 点。
【问题讨论】:
-
NSDate提供亚秒级精度。 -
NSDate是一个时刻。没有 UTC 日期或本地日期之类的东西。这只是你如何显示它的问题。 -
NSDate 实例基于自格林威治标准时间 2001 年 1 月 1 日第一个时刻以来的时间间隔。因此,创建日期的时区没有任何区别,也不会影响
NSDate值。 -
来自 Apple Docs:“NSDate 的唯一原始方法 timeIntervalSinceReferenceDate 为 NSDate 接口中的所有其他方法提供了基础。此方法返回相对于绝对参考日期的时间值 -格林威治标准时间 2001 年 1 月 1 日的第一时间。”
标签: ios objective-c swift nsdate