如何从YYYY-MM-dd'T'HH:mm:ss.sssZ中获取时间 [英] How to get time from YYYY-MM-dd'T'HH:mm:ss.sssZ
本文介绍了如何从YYYY-MM-dd'T'HH:mm:ss.sssZ中获取时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从"2017-07-31T11:40:00.000Z"开始获得11:40的时间
Hi I want to get time as 11:40 from "2017-07-31T11:40:00.000Z"
以下是我正在使用的代码:
Below is the code I am using:
let formatter = Foundation.DateFormatter()
formatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.sssZ" //2017-04-01T18:05:00.000
let date1 = formatter.date(from: data.arvTime)
print("date:\(String(describing: date1))")
let dateFormatterPrint = Foundation.DateFormatter()
dateFormatterPrint.dateFormat = "HH:mm"
let resultTime = dateFormatterPrint.string(from: date1!)
print("time:\(String(describing: resultTime))")
获取时间为1:29,即我获取的时间不正确
getting time as 1: 29 i.e. I am getting wrong time
请帮助我解决此问题.
推荐答案
使用日期格式
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
代替
formatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss.sssZ"
查看完整代码
let formatter = Foundation.DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" //2017-04-01T18:05:00.000
let date1 = formatter.date(from: "2017-04-01T18:05:00.000Z")
print("date:\(String(describing: date1))")
formatter.dateFormat = "HH:mm"
let resultTime = formatter.string(from: date1!)
print("time:\(String(describing: resultTime))")
选项2
let formatter = Foundation.DateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.sssZ" //2017-04-01T18:05:00.000
let date1 = formatter.date(from: "2017-04-01T18:05:00.000Z")
print("date:\(String(describing: date1))")
formatter.timeZone = TimeZone(abbreviation: "UTC")
formatter.dateFormat = "HH:mm"
let resultTime = formatter.string(from: date1!)
print("time:\(String(describing: resultTime))")
输出
这篇关于如何从YYYY-MM-dd'T'HH:mm:ss.sssZ中获取时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文