是时间间隔介于 1970 和参考日期 + 时间间隔以来参考日期 = 时间间隔自 1970 年以来

  • 本文关键字:时间 日期 1970 参考 swift date
  • 更新时间 :
  • 英文 :


我正在浏览代码,偶然发现了timeIntervalBetween1970AndReferenceDatetimeIntervalSinceReferenceDate的使用。

代码返回以毫秒为单位的时间戳:

return (Date.timeIntervalBetween1970AndReferenceDate + date.timeIntervalSinceReferenceDate) * 1000

这不等于:

return date.timeIntervalSince1970 * 1000

确实没有区别。Date具有类型属性

public static let timeIntervalBetween1970AndReferenceDate: TimeInterval
// The number of seconds from 1 January 1970 to the reference date, 1 January 2001

和实例属性

public var timeIntervalSinceReferenceDate: TimeInterval { get }
// The interval between the date value and 00:00:00 UTC on 1 January 2001.
public var timeIntervalSince1970: TimeInterval { get }
// The interval between the date value and 00:00:00 UTC on 1 January 1970.

这意味着对于Date标识类型的任何值date

Date.timeIntervalBetween1970AndReferenceDate + date.timeIntervalSinceReferenceDate
== date.timeIntervalSince1970

持有。事实上,正如我们在 Date.swift#L111 中看到的,timeIntervalSince1970实现为

public var timeIntervalSince1970: TimeInterval {
return self.timeIntervalSinceReferenceDate + Date.timeIntervalBetween1970AndReferenceDate
}

最新更新