在NSUserDefault中保存日期会给出不正确的值

时间:2016-10-24 08:40:34

标签: ios swift

当我打印存储在NSUserDefaults中的值时,我得到以下输出。

    let prefs = NSUserDefaults.standardUserDefaults()
    prefs.setObject(NSDate(), forKey: "ST")

    print ("Hey \(prefs.objectForKey("ST")) ")
  

嘿可选(2016-10-24 08:29:20 +0000)

显示了文本Optional(,我想要的只显示Date time

此外,给出的时间不正确。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

也许您可以将日期保存为格式化的字符串

让formatter:DateFormatter = DateFormatter() formatter.dateFormat =" yyyy.MM.dd HH:mm:ss ZZZ"

// Save Date...
let hoy: Date = Date()

let formato_hoy = formatter.string(from: hoy)
print(formato_hoy)


// Recover Date...
let future_format: String = "2016.10.24 09:54:22 +0200"

if let future = formatter.date(from: future_format) 
{
    print(future)   
}

掩码中的ZZZ值与时区有关。