如何在Swift 3中检查给定日期是否在x天数内

如何在Swift 3中检查给定日期是否在x天数内,swift,swift3,date-difference,Swift,Swift3,Date Difference,给定天数和特定日期的变量, 我们如何检查给定的日期是否在过去的天数内 换句话说,我如何检查dateVar是否在过去7天内,或者数字的值是什么 var number = 7 var dateVar = "29-11-2016 13:21:33" 首先,您需要将日期字符串转换为date对象,然后您可以使用DateComponent查找该日期与当前日期(以天为单位)之间的差异,并将该日期与您的数字进行比较,如下图所示 let dateVar = "29-11-2016 13:21:33" let

给定天数和特定日期的变量, 我们如何检查给定的日期是否在过去的天数内

换句话说,我如何检查dateVar是否在过去7天内,或者数字的值是什么

var number = 7

var dateVar = "29-11-2016 13:21:33"

首先,您需要将日期字符串转换为
date
对象,然后您可以使用
DateComponent
查找该日期与当前日期(以天为单位)之间的差异,并将该日期与您的数字进行比较,如下图所示

let dateVar = "29-11-2016 13:21:33"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
if let date = dateFormatter.date(from: dateVar) {
    print(date)
    let numberOfDays = Calendar.current.dateComponents([.day], from: date, to: Date()).day ?? 0
    print(numberOfDays)
    if numberOfDays <= number {
         print("DateVar with in number of days")
    }
}
let dateVar=“29-11-2016 13:21:33”
让dateFormatter=dateFormatter()
dateFormatter.dateFormat=“dd-MM-yyy-HH:MM:ss”
如果let date=dateFormatter.date(from:dateVar){
打印(日期)
设numberOfDays=Calendar.current.dateComponents([.day],from:date,to:date()).day??0
打印(天数)

如果numberOfDays@SwiftStarter Welcome mate:)@NiravD,则该字符串中没有任何内容表明时区为GMT。您不应手动将其设置为GMT。如果未在字符串中明确指定,则使用日期格式化程序时,时区为且应始终为本地时间。@NiravD无需处理该问题,只需删除该行即可