使用时区将string转换为date
我有datestring2017-01-03T10:45:00.000+02:00
,我需要将其转移到这样的事情2017-01-03 10:45:00 +0200
let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" // this formatter returning 2017-01-03 08:45:00 +0000 but I need // 2017-01-03 10:45:00 +0200
感谢您的帮助!
尝试这个,
Swift 3.0
let dateStr = "2017-01-03T10:45:00.000+02:00" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd\'T\'HH:mm:ss\'.000\'z" dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let date = dateFormatter.date(from: dateStr) print("Date from String : \(date)") dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss xxxx'" dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 7200) as TimeZone! print("String From Date : \(dateFormatter.string(from: date!))")
结果:
来自string的date:可选(2017-01-03 08:45:00 +0000)
string从date:2017-01-03 10:45:00 +0200
这个为我工作,希望它帮助你
let dateString = "2017-01-03 08:45:00 +0000" // create dateFormatter with UTC time format let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss xxxx" dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! let date = dateFormatter.date(from: dateString)// create date from string print("Date1 : \(date)") // change to a readable time format and change to local time zone dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss xxxx'" dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 7200) as TimeZone! print("Date2 : \(dateFormatter.string(from: date!))")
如果你想转换stringdate尝试下面的代码,让我知道,
let dateString = "2016-10-25" let dateFormatter = NSDateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" let FormatDate = dateFormatter.dateFromString(dateString) print(FormatDate)
你可以从下面的格式得到更多的时间:
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
尝试这个:
let dateString = "2017-01-03T10:45:00.000+02:00" let dateFormatter = DateFormatter() dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone! dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss SSSZ" let FormatDate = dateFormatter.dateFromString(dateString) print(FormatDate)