swift - 快速比较当前系统日期与另一个日期(以字符串格式 2019-11-22 出现)

标签 swift

我从 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 将会崩溃),因此您有两个选择:

  1. 将当前日期转换为字符串

    if Date.getCurrentDate() < apiEach["ExpiryDate"] as! String { ...
    
  2. 将 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/

相关文章:

ios - SwiftUI |使用 onDrag 和 onDrop 在一个 LazyGrid 中重新排序项目?

ios - 我正在检查 nsdictionary 中的对象是否为 nil 并且我得到了错误的响应 - 为什么?

ios - 快速错误: Classes implemented in two places but files I don't touch?

swift - URLSession 转换为 Swift 3

swift - macOS 应用程序,例如 macOS 上的 Photos.app

ios - 自动增加/减少 UITableViewCell 中的 UILabelView 高度?

ios - 适用于 iOS 的 Firebase ML 套件 : "Unable to convert data to a string using the detected encoding" error when using local model

swift - Swift3 中不明确的运算符分辨率回归?

ios - 在表格 View 的单元格中设置标签的位置

swift - 如何创建引用特定函数的函数类型的类型别名