比较两个日期-斯威夫特



如何将没有timestring类(2019-11-02(转换为date format,并在没有time的情况下获得当前的Date设备,然后一起获得compare

除了上面使用日期的字符串表示外,您实际上只能处理日期本身。只要转换一个字符串就会给你一个"开始一天"的日期。日历有一个方法,它将对日期执行相同的操作,允许您将转换后的字符串与"今天"进行比较

func isDateToday(dateString: String) -> Bool {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd"
let date = df.date(from: dateString)
let today = Calendar.current.startOfDay(for: Date())
return date == today
}

您可以使用dateFormatter将字符串转换为日期,然后使用if语句与当前日期进行比较

import Foundation
//convert string to date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let myDate = dateFormatter.date(from: "2019-11-02")

//convert today's date in the same formate
let currentFormatter = DateFormatter()
currentFormatter.dateStyle = .short
currentFormatter.dateFormat = "yyyy-MM-dd"
let today = currentFormatter.string(from: Date())
let todayDate = dateFormatter.date(from: today)
//Compare the two date's
if myDate == todayDate {
print("ok")
}

最新更新