0
我想转换UTC日期为swift中的本地日期,但在得到UTC后字符串中的本地日期我将该字符串转换为NSDate中的一次,但我总是得到UTC日期格式下面是我的代码UTC的日期在swift iOS中的本地日期
日期:在UTC:二零一六年七月二十日18:30:00 +0000
我想这个日期在当地的日期,选中下面的代码:
let dateInUTC = NSDate()
let seconds: Int = NSTimeZone.systemTimeZone().secondsFromGMT
print(seconds)
let localDateFormatter: NSDateFormatter = NSDateFormatter()
localDateFormatter.dateFormat = "MM/dd/yyyy HH:mm"
localDateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: seconds)
let lastDate: String = localDateFormatter.stringFromDate(dateInUTC)
print(lastDate)
在这个时候我得到“07/12/2016 16:56:36 GMT + 5:30”,意思是我得到的字符串本地日期,但我想这个日期的NSDate所以我再次转换成NSDate的这串日期,检查以下
let getDate:NSDate = localDateFormatter.dateFromString(lastDate)!
print(getDate)
但在这个阶段,我再次得到了在UTC日期(2016年7月12日11: 26:36 +0000),但我想在本地日期,
- 我尝试了很多的雨燕次,但没有从字符串获得本地日期,这行代码我在Objective-C的应用,其工作的罚款obj-c但是当我在swift中尝试时,我总是得到UTC日期,建议我并给我正确的方式来解决这个问题。
NSDate代表绝对时间点并且没有时区。这已被反复询问和回答。 –
那么如何获得当地时区的NSDate? (注意:不是字符串,它应该在NSDate中) –
这个问题没有意义,NSDate只是自2001年1月1日GMT以来的秒数。看例如http://stackoverflow.com/questions/24917483/swift-nsdate-utc-time-and-local-tme或http://stackoverflow.com/questions/18124684/nsdate-change-time-zone。 NSDate的* description *方法使用UTC将日期显示为字符串。 –