我有这样的代码:
var d = "22/12/1968 01:10:40"
var form : NSDateFormatter = NSDateFormatter()
form.dateFormat = "dd/MM/yyyy HH:mm:ss"
form.timeZone = NSTimeZone.localTimeZone() //Italy
print(form.dateFromString(d)!)当我执行它时,我得到这样的结果:
1968-12-22 00:10:40 +0000第一件事为什么我在结束时得到"+0000“?为什么数据格式不被尊重?
第二,时间不对。这就像是把时间设定在伦敦的时间上,而不是我把它设定在我当地的时区(意大利)。我在iPhone模拟器上测试了它
发布于 2015-12-22 18:27:33
var d= "22/12/1968 01:10:40“var格式: NSDateFormatter = NSDateFormatter() form.dateFormat = "dd/MM/yyyy HH:mm:ss”
//直到这里,没有“问题”
form.timeZone = NSTimeZone.localTimeZone() //意大利//意思是,意大利的日期时间是22/12/1968 01:10:40 (GMT +1)
//请记住,NSDate是绝对时间,或者它包含GMT+0时间。//和现在一样,在意大利,现在是22/12/1968 01:10:40,然后在GMT+0时间,它是1小时后。所以,testDate持有22/12/1968 00:10:40
NSDate testDate = form.dateFromString(d)!
https://stackoverflow.com/questions/34412840
复制相似问题