如何在Swift中解析此日期时间

问题描述 投票:0回答:1

我正在尝试解析此DateTime,但无法检测格式,并且解析也没有运气。看起来如下:

20190507T000000.000

我尝试了所有我能想到的格式,但是说实话,我对日期格式的理解还很遥远。我尝试将此格式设置为dateFormatter,因为我认为它最接近它:

"yyyyMMddTHHmmss.sss"

而且,我尝试使用ISO8601DateFormatter(),但没有给我任何好处。我猜这个DateTime是某个UTC日期。

ios swift nsdateformatter utc iso8601
1个回答
0
投票

创建了String的一个扩展名。

extension String {

public func dateIn(formate: String, inGTM: Bool) -> Date { // gives in same formate
    if self.isEmpty { return Date() }

    let formatter = DateFormatter()
    formatter.timeZone = TimeZone(abbreviation: inGTM ? "GTM" : "UTC")
    formatter.dateFormat = formate
    if let dt = formatter.date(from: self) {
        return dt
    }
    return Date()
}    

}

使用方法:

 let stringValue : String = "20190507T000000.000"
 print(stringValue.dateIn(formate: "yyyyMMddTHHmmss.sss", inGTM: true))
© www.soinside.com 2019 - 2024. All rights reserved.