无法仅从 swift 中的 JSON 日期字符串获取日期
Unable to get only date from JSON date string in swift
JSON 如下所示
"user": {
"id": 160,
"date": "2021-04-13 16:30:06",
现在我只需要在标签中显示日期,如果我像下面这样添加..我得到了总字符串
self?.dateLabel.text = user?["date"] as? String
o/p: 2021-04-13 16:30:06
我自己只需要2021-04-13吗?dateLabel.text
所以我试过了
var dateString = user?["date"] as? String
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: dateString!)
print(date)
o/p:得到零
如何在标签中仅显示 JSON 日期字符串中的日期。请帮忙
您需要使用 DateFormatter
才能从字符串中获取 Date
对象。为此,您需要一个与此字符串匹配的日期格式,如下所示:
var dateString = "2021-04-13 16:30:06"
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.date(from: dateString)
之后,您需要将DateFormatter
修改为您想要显示的日期格式:
if let date = date {
dateFormatter.dateFormat = "yyyy-MM-dd"
let displayText = dateFormatter.string(from: date)
print(displayText)
}
当然,您通常需要知道此日期在 JSON 中表示的时区,否则您最终会得到错误的日期。
要在 DateFormatter
中设置时区,请使用 timeZone
属性。例如设置 GMT 时区:
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)
JSON 如下所示
"user": {
"id": 160,
"date": "2021-04-13 16:30:06",
现在我只需要在标签中显示日期,如果我像下面这样添加..我得到了总字符串
self?.dateLabel.text = user?["date"] as? String
o/p: 2021-04-13 16:30:06
我自己只需要2021-04-13吗?dateLabel.text
所以我试过了
var dateString = user?["date"] as? String
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from: dateString!)
print(date)
o/p:得到零
如何在标签中仅显示 JSON 日期字符串中的日期。请帮忙
您需要使用 DateFormatter
才能从字符串中获取 Date
对象。为此,您需要一个与此字符串匹配的日期格式,如下所示:
var dateString = "2021-04-13 16:30:06"
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let date = dateFormatter.date(from: dateString)
之后,您需要将DateFormatter
修改为您想要显示的日期格式:
if let date = date {
dateFormatter.dateFormat = "yyyy-MM-dd"
let displayText = dateFormatter.string(from: date)
print(displayText)
}
当然,您通常需要知道此日期在 JSON 中表示的时区,否则您最终会得到错误的日期。
要在 DateFormatter
中设置时区,请使用 timeZone
属性。例如设置 GMT 时区:
dateFormatter.timeZone = TimeZone(secondsFromGMT: 0)