在将此问题标记为重复项之前,请继续阅读。从字符串获取NSDate对象
我需要比较两个NSDate
s。我从具有当前日期的服务器获取的日期。
从NSDate.date()
我得到这个日期2014-09-25 12:48:23 +0000这是错误的(时间部分)。我需要增加5个小时来获得当前时间,所以我做了以下工作。
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss ZZZZZ"
let dateString = formatter.stringFromDate(NSDate.date())
结果是正确的日期 - 2014年9月25日6点21分56秒+05:30
但有一个小麻烦。这个日期是一个字符串,而不是NSDate
。我需要它是一个NSDate
对象来比较它与另一个日期。
我试图将其转换回这个样子,
let date = formatter.dateFromString(dateString)
我也得到一个错误的结果 - 2014年9月25日0点55分53秒+0000。我试着将日期字符串传递给一个新的NSDateFormatter
,看看是否有效,但我仍然得到错误的日期。
我的问题是,我怎样才能将这个日期字符串转换为一个NSDate
对象,它也保留了正确的时间。
谢谢。
http://stackoverflow.com/questions/24089999/how-do-you-create-a-swift-date-object – 2014-09-25 13:04:55
也许你可能忘了设置dateFormatter的时区? – 2014-09-25 13:04:59
查看NSDate使用默认timeZone(即GMT),并获得一个特定时间区的时间,你可以使用NSDateFormatter。在你使用NSDateFormatter(默认情况下会占用你的时区而不是GM)后,你的情况会显示不同的时间,然后NSDate。 – nikhil84 2014-09-25 13:05:35