在Swift 4中,LocalDateTime和OffsetDateTime的等价物是什么?我正在尝试使用Json对Java日期进行编码并在Swift中解码。看起来Swift中只有一个Date对象。
ldioqlga1#
Swift使用Date结构体来存储时间点。它总是存储在UTC中。如果你想要本地日期时间,你可以使用Calendar或DateFormatter,就像下面的例子:
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转换为本地格式,只需使用您选择的搜索引擎即可
w8f9ii692#
由于Java的LocalDateTime“只是一个容器”,用于存储本地日期和时间值,所以我最近从Java复制了这个想法,并创建了Swift版本:https://github.com/hoereth/LocalDateTime
2条答案
按热度按时间ldioqlga1#
Swift使用
Date
结构体来存储时间点。它总是存储在UTC
中。如果你想要本地日期时间,你可以使用Calendar
或DateFormatter
,就像下面的例子:有多种方法可以将
Date
转换为本地格式,只需使用您选择的搜索引擎即可w8f9ii692#
由于Java的LocalDateTime“只是一个容器”,用于存储本地日期和时间值,所以我最近从Java复制了这个想法,并创建了Swift版本:https://github.com/hoereth/LocalDateTime