我想解析一个字符串,我从本地返回一个MySQL Date
数据类型作为日期。然而,每次我尝试在Swift 3中用进行解析时,结果日期都是两天。Swift 3解析日期字符串
下面是从服务器返回的日期字符串的例子:
“星期六2016年12月31日00:00:00 GMT-0800(PST)”
我尝试使用捕捉按以下格式字符串信息:
let DatFormatServerTwo = "EEE MMM dd yyyy HH':'mm':'ss zzzZ '('zzz')'"
然后我用这样的:
static func stringDateToDateTwo(dateString: String, timeZone: TimeZone = TimeZone.current) -> Date {
dateFormatter.dateFormat = DateFormatServerTwo
dateFormatter.timeZone = timeZone
return dateFormatter.date(from: dateString) ?? Date()
}
其中dateFormatter
分配给
我认为问题是,有与时区偏移,我不能正确捕捉信息。通过切断日期字符串的一部分,即当TimeZone的东西进入图片时,我可以得到想要的日期。我不想每次都这么做,因为它很混乱。
这里是我砍的字符串来获取我从服务器所需的日期:
var holidayDateArray = holidayDate.characters.split{$0 == " "}.map(String.init)
var count = 0
var newString = ""
for substring in holidayDateArray {
if count < 5 {
newString.append(substring)
} else {
break
}
count += 1
}
然后我格式化是这样的:
static let DateFormatServerTwo = "EEEMMMddyyyyHH':'mm':'ss"
你在什么时区? – Adrian