Swift 3 有没有办法将日期打印为日期而不是字符串
Swift 3 is there a way to print date as Date not as String
我正在尝试用我必须发送给 api 的日期参数形成一个正文。日期以字符串格式打印,有没有办法将其作为唯一日期格式发送。
let isoDate = "2019-09-21"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
let dateStr = dateFormatter.string(from: date)
let body: [String: Any] = [
"date": dateStr
]
print(body)
它打印:
["date": "2019-09-21"]
我希望它打印为:
["date": 2019-09-21]
试试这个:
print(dateFormatter.string(from: date))
输出:
2019-09-21
您可以使用小时分秒:
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date))
输出:
2019-09-21 00:00:00
您的输出示例类似于日期的 DebugDescription。
要将日期转换为字符串,您需要调用:
dateFormatter.string(from: date)
这是 playground 的屏幕截图:
let isoDate = "2019-09-21"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = NSTimeZone(name: "UTC")! as TimeZone
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
let strDate = dateFormatter.string(from: date)
print("\(strDate)")
请尝试:
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
print(dateFormatter.string(from: date)) // 2019-09-21
let body: [String: AnyObject] = [
"date": dateFormatter.string(from: date) as AnyObject
]
print(body) //["date": 2019-09-21]
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date)) // 2019-09-21 00:00:00
我能够使用以下代码实现此目的:
let isoDate = "2019-09-21"
let body: [String: AnyObject] = [
"date": isoDate as AnyObject
]
print(body)
现在打印:
["date": 2019-09-21]
我正在尝试用我必须发送给 api 的日期参数形成一个正文。日期以字符串格式打印,有没有办法将其作为唯一日期格式发送。
let isoDate = "2019-09-21"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
let dateStr = dateFormatter.string(from: date)
let body: [String: Any] = [
"date": dateStr
]
print(body)
它打印:
["date": "2019-09-21"]
我希望它打印为:
["date": 2019-09-21]
试试这个:
print(dateFormatter.string(from: date))
输出:
2019-09-21
您可以使用小时分秒:
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date))
输出:
2019-09-21 00:00:00
您的输出示例类似于日期的 DebugDescription。
要将日期转换为字符串,您需要调用:
dateFormatter.string(from: date)
这是 playground 的屏幕截图:
let isoDate = "2019-09-21"
let dateFormatter = DateFormatter()
dateFormatter.timeZone = NSTimeZone(name: "UTC")! as TimeZone
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
let strDate = dateFormatter.string(from: date)
print("\(strDate)")
请尝试:
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
print(dateFormatter.string(from: date)) // 2019-09-21
let body: [String: AnyObject] = [
"date": dateFormatter.string(from: date) as AnyObject
]
print(body) //["date": 2019-09-21]
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date)) // 2019-09-21 00:00:00
我能够使用以下代码实现此目的:
let isoDate = "2019-09-21"
let body: [String: AnyObject] = [
"date": isoDate as AnyObject
]
print(body)
现在打印:
["date": 2019-09-21]