在Swift 4中,LocalDateTime和OffsetDateTime的等效物是什么?
我正在尝试使用Json编码Java日期并在Swift中解码它们。看起来Swift只有一个Date对象。
在Swift 4中,LocalDateTime和OffsetDateTime的等效物是什么?
我正在尝试使用Json编码Java日期并在Swift中解码它们。看起来Swift只有一个Date对象。
Swift使用Date
结构体来表示时间点,始终存储在UTC
中。如果您需要本地日期时间,可以使用Calendar
或DateFormatter
,例如:
import Foundation
let date = Date();
let dateFormatter = DateFormatter()
dateFormatter.timeStyle = .medium
dateFormatter.dateStyle = .none // ignore date
dateFormatter.timeZone = TimeZone(secondsFromGMT: 2*60*60)
let localDate = dateFormatter.string(from:date)
print("UTC Time: \(date)") // 2018-10-18 08:15:07 +0000
print("Local Time: \(localDate)") // 10:15:07 AM
有多种方法可以将 Date
转换为本地时间,只需使用您选择的搜索引擎即可。
LocalDateTime
类表示日期和时间,没有任何时区或UTC偏移量的概念。因此,它不代表一个瞬间,也不是时间轴上的一个点。 - Basil BourqueDate
类,而不是任何Java类。实际上,Date
是一个时间点。 - Andreas OetjenLocalDateTime
。而这个答案并没有解决那一部分。 - Basil Bourque由于Java的LocalDateTime只是用于存储本地日期和时间值的“容器”,因此我最近从Java中复制了这个想法,并创建了Swift版本:https://github.com/hoereth/LocalDateTime