使用JSON,我从数据库中提取了一个日期,该日期在php中的格式为Ymd。例如2015-05-27。
我将日期存储为swift,当我以相同方式打印字符串时,可以看到它的格式。我按照其他答案和教程尝试将日期转换为dd-MM-yyyy,但是每次我返回“ nil”。
如果我尝试将日期转换为yyyy-MM-dd,则会得到“ 2015-05-26 23:00:00 +0000”
我的代码:
var survey_date = prefs.valueForKey("SURVEY_DATE") as! String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
var date = dateFormatter.dateFromString(survey_date) as NSDate!
println(date)
self.survey_date.text = "Your survey is scheduled for \(date)"
您已将日期格式设置程序的dateFormat
属性设置为dd-MM-yyyy
,但survey_date
格式为的字符串yyyy-MM-dd
。结果,此行中的date值...
var date = dateFormatter.dateFromString(survey_date) as NSDate!
是nil
。这很容易解决-更改dateFormat
为yyyy-MM-dd
。
打印出NSDate
的yyyy-MM-dd
格式也是一个容易解决。正如你所用NSDateFormatter
的dateFromString()
方法将字符串,其格式由其指定的转换dateFormat
属性为NSDate
,使用NSDateFormatter
的stringFromDate()
方法将转换NSDate
成一个字符串dateFormat
的格式。
这是您的代码,已应用以下两个修复程序:
var survey_date = prefs.valueForKey("SURVEY_DATE") as! String
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
var date = dateFormatter.dateFromString(survey_date) as NSDate!
let outputDate = dateFormatter.stringFromDate(date)
println(outputDate)
self.survey_date.text = "Your survey is scheduled for \(outputDate)"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句