mysql - 将 mysql 日期转换为 NSDate

标签 mysql swift date datetime

使用 JSON,我从数据库中提取日期,该日期在 php 中格式为 Y-m-d。例如。 2015年5月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 。因此,该行中的日期值...

var date = dateFormatter.dateFromString(survey_date) as NSDate!

nil 。这是一个简单的修复方法 - 更改 dateFormatyyyy-MM-dd .

打印 NSDateyyyy-MM-dd格式也是一个简单的解决方法。正如您使用 NSDateFormatter 一样的dateFromString()方法来转换其格式由其 dateFormat 指定的字符串属性(property)进入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)"

关于mysql - 将 mysql 日期转换为 NSDate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30345367/

相关文章:

php - 我可以在 PHP 中混合使用 MySQL API 吗?

Swift:在 Firebase 数据库中搜索特定值并查找所有关联数据

ios - 如何快速打开文件并在其中附加字符串

ios - withSecurityScope 在 NSURL.BookmarkCreationOptions 中不可用

mysql - 如何在不使用 now() 的情况下在特定时间段内过滤 mysql 中的 select 语句

php - 在sql select和update语句中使用从下拉列表获取的php动态变量

mysql - 更新mysql数据库中的排名

mysql - nvarchar 持有 "integer"值 - 转换时不报告错误 - SQL 注入(inject)

javascript - 如何根据当前日期从数组中找到最接近的日期值?

c++ - 在 DateEdit Qt C++ 中打开 .txt 中的日期