【发布时间】:2020-12-22 02:54:59
【问题描述】:
我从 api 得到一个日期字符串的响应,它的格式有时会改变,所以我需要动态格式化它,
这是我的代码
import Foundation
func format(from: String?, fromFormat: String, to: String) -> String {
if from == nil { return "" }
let inputDateFormatter = DateFormatter()
inputDateFormatter.dateFormat = fromFormat
let date = inputDateFormatter.date(from: from ?? "")
let outputDateFormatter = DateFormatter()
outputDateFormatter.dateFormat = to
if let date = date {
return outputDateFormatter.string(from: date)
}
return "not formatted"
}
let strFromApi = "2020-12-22"
print(format(from: strFromApi, fromFormat: "yyyy-MM-dd", to: "d MMM yyyy"))
如您所见,我有一个可以成功格式化的代码,这里的问题是strFromApi 变量来自api,并且在2020-12-22 和2020-12-22 00:00:00 之间变化,当它变为@987654325 @,我现在的代码不能再格式化了。
问题:即使服务器给定的格式有时间,我如何格式化它?
【问题讨论】:
-
为什么不把“00:00:00”换成“”?
-
@koropok 你是什么意思?,我没有包含 00:00:00 的代码..
-
-
@koropok
00:00:00只是一个例子,如果它有一个“ 11:11:11”呢? -
哦,这个怎么样?
strFromApi.components(separatedBy: " ").first
标签: swift nsdateformatter dateformatter