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

S.V*_*rma 1 time date ios swift

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

日期以这种格式保存在我的日期基础上:

    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()
Run Code Online (Sandbox Code Playgroud)

Set*_*hmr 7

给你:

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)")
    }
}
Run Code Online (Sandbox Code Playgroud)