我从 API (2019-11-22) 获取字符串格式的日期,我想将此日期与当前日期进行比较。
我尝试将当前日期转换为字符串格式,这是成功的,但这不满足要求。我必须将字符串(2019-11-22)转换为日期,然后我可以比较两个日期。
如何将字符串 (2019-11-22) 转换为日期以与系统日期进行比较,请帮助我掌握日期方面的知识。提前致谢。
extension Date {
static func getCurrentDate() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
return dateFormatter.string(from: Date())
}
}
if Date() < apiEach["ExpiryDate"]! as! Date{
//apiEach["ExpiryDate"]! is 2019-11-22
pritn("You can proceed it's not outdated")
}
最佳答案
apiEach["ExpiryDate"]
是一个字符串(apiEach["ExpiryDate"] as! Date
将会崩溃),因此您有两个选择:
将当前日期转换为字符串
if Date.getCurrentDate() < apiEach["ExpiryDate"] as! String { ...
将 API 字符串转换为
日期
并进行比较let dateFormatter = DateFormatter() dateFormatter.locale = Locale(identifier: "en_US_POSIX") dateFormatter.dateFormat = "yyyy-MM-dd" if let apiDate = dateFormatter.date(from: apiEach["ExpiryDate"] as! String), Date() < apiDate { ...
关于swift - 快速比较当前系统日期与另一个日期(以字符串格式 2019-11-22 出现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58553739/