ios - 如何比较两个日期字符串的值?

标签 ios swift date time

如何将数据库中的值与当前日期进行比较?执行某些操作时,日期会保存在数据库中,我需要将该日期与当前日期进行比较并执行一些操作。我怎样才能做到这一点 ?

日期以这种格式保存在我的日期库中:

    var tasksin2 : Task?

    dateFormatter.dateFormat = "dd/MM/yyyy  hh:mm"

    let mydate="\(dateFormatter.string(from: datePicker.date))"

    tasksin2?.time=mydate

    (UIApplication.shared.delegate as! AppDelegate).saveContext()

最佳答案

给你:

extension String {
    func toDate() -> Date? {
        let formatter = DateFormatter()
        formatter.dateFormat = "dd/MM/yyyy  hh:mm"
        return formatter.date(from: self)
    }
}

class MyViewController: UIViewController {

    var dateString1: String!
    var dateString2: String!

    override func viewDidLoad() {
        super.viewDidLoad()
        // set dateStrings
        printDateTypes()
    }

    func printDateTypes() {

        guard let date1 = dateString1.toDate() else { 
            print("dateString1: \(dateString1) | Failed to cast to \"dd/MM/yyyy  hh:mm\"")
            return 
        }

        guard let date2 = dateString2.toDate() else { 
            print("dateString2: \(dateString2) | Failed to cast to \"dd/MM/yyyy  hh:mm\"")
            return 
        }


        let isDescending = date1.compare(date2) == ComparisonResult.orderedDescending
        print("orderedDescending: \(isDescending)")

        let isAscending = date1.compare(date2) == ComparisonResult.orderedAscending
        print("orderedAscending: \(isAscending)")

        let isSame = date1.compare(date2) == ComparisonResult.orderedSame
        print("orderedSame: \(isSame)")
    }
}

关于ios - 如何比较两个日期字符串的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43211168/

相关文章:

ios - Gameplaykit GKState,带有两个参数的 swift func

iOS:xml和wbxml之间的转换

iphone - 安排并显示本地通知后,启动 iPhone 应用程序需要什么代码?

ios - 编辑行时 TableView 节标题移动

iOS 14 导航栏标题未显示在以编程方式创建的 UINavigationController 中

swift - 关闭模态并返回到容器 View 中呈现的 subview Controller

ios - 在模态视图外单击时退出场景

perl - 如何在 Perl 中解析日期和转换时区?

javascript - Jquery - Fullcalendar (v1.6.4) - 一些事件不显示结束日期

php - 日期范围之间的查询不显示结果