我正在将一些旧的Javascript代码移植到Swift应用程序,我的客户端的数据集有点奇怪,因为它们只记录了每个日期的月份和年份,因此安装日期字符串看起来像:{ {1}}。
在Javascript中,我可以使用:2001-05
将其返回:var date = new Date("2001-05");
将时间/日归零,但按预期维护年份和月份。
我目前在Swift中使用以下代码:
2001-05-01T00:00:00.000Z
这总是产生零输出。是否有可能在Swift中重现日期格式的JS行为?
答案 0 :(得分:3)
你几乎拥有它,我在游乐场测试它就像这样使用它(刚刚更改了" yyyy-MM"部分):
var date = "2001-05"
func stringToDate(_ date: String) -> Date? {
let df = DateFormatter()
df.locale = NSLocale(localeIdentifier: "en_US_POSIX") as Locale!
df.dateFormat = "yyyy-MM"
df.date(from: date)
return df.date(from: date)
}
print(stringToDate(date)!)