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

时间:2017-04-04 15:13:35

标签: 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()

1 个答案:

答案 0 :(得分:1)

这里你去:

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)")
    }
}
相关问题