使用格式化程序从字符串中获取零日期
getting nil date from string using formatter
我正在使用此代码将 String
日期数组转换为 Date
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
for i in 0 ..< data.count {
let time = data[i]
let ft_date = time["ft_date"] as! String
print(ft_date)
let dateF = formatter.date(from: ft_date)
print(dateF)
}
这是控制台的输出
2017-04-09T00:00:00
Optional(2017-04-08 19:30:00 +0000)
2017-04-08T00:00:00
Optional(2017-04-07 19:30:00 +0000)
2017-04-05T00:00:00
Optional(2017-04-04 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-03-22T00:00:00
nil
为什么会这样?它是相同的格式,但我得到的是 nil
您需要更改时间格式;
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
您是否居住在夏令时在午夜 2017-03-22
更改的国家/地区?
如果是,这可能是日期不存在的原因。
我正在使用此代码将 String
日期数组转换为 Date
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
for i in 0 ..< data.count {
let time = data[i]
let ft_date = time["ft_date"] as! String
print(ft_date)
let dateF = formatter.date(from: ft_date)
print(dateF)
}
这是控制台的输出
2017-04-09T00:00:00
Optional(2017-04-08 19:30:00 +0000)
2017-04-08T00:00:00
Optional(2017-04-07 19:30:00 +0000)
2017-04-05T00:00:00
Optional(2017-04-04 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-04-01T00:00:00
Optional(2017-03-31 19:30:00 +0000)
2017-03-22T00:00:00
nil
为什么会这样?它是相同的格式,但我得到的是 nil
您需要更改时间格式;
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
您是否居住在夏令时在午夜 2017-03-22
更改的国家/地区?
如果是,这可能是日期不存在的原因。