Ios 虽然我过的是不同的日期,为什么日期总是在今天

Ios 虽然我过的是不同的日期,为什么日期总是在今天,ios,swift,Ios,Swift,这是我的密码 let dateValue = formatterDate.dateFromString(request.date) print("da = \(request.date)") let dayValue = NSDate() let compnentsDate = myCalendar.components(.Year, fromDate: dateValue!) let componentsDay = myCale

这是我的密码

 let dateValue = formatterDate.dateFromString(request.date)
        print("da = \(request.date)")
        let dayValue = NSDate()
        let compnentsDate = myCalendar.components(.Year, fromDate: dateValue!)
        let componentsDay = myCalendar.components(.Year, fromDate: dayValue)
        if compnentsDate.year == componentsDay.year && compnentsDate.month == componentsDay.month && compnentsDate.day  == componentsDay.day {
            cell.dateLabel.text = "today"
        }else {
            if compnentsDate.year == componentsDay.year && compnentsDate.month == componentsDay.month && compnentsDate.day  == (componentsDay.day + 1 ){
            cell.dateLabel.text = "tomorrow"
            }else {
                cell.dateLabel.text = request.date
            }

        }
如您所见,我正在进行打印,打印的价值是:

da = Jan, 25, 2016
但是,代码总是转到第一个if语句,并告诉我“今天”

为什么


我的代码有什么问题?

调用
组件:fromDate:
函数时,需要指定所需的所有组件

您需要通过
.Year
.Month
.Day
,而不仅仅是
.Year
。大概是这样的:

let compnentsDate = myCalendar.components([.Year , .Month , .Day], fromDate: dateValue!)
let componentsDay = myCalendar.components([.Year , .Month , .Day], fromDate: dayValue)

调用
components:fromDate:
函数时,需要指定所需的所有组件

您需要通过
.Year
.Month
.Day
,而不仅仅是
.Year
。大概是这样的:

let compnentsDate = myCalendar.components([.Year , .Month , .Day], fromDate: dateValue!)
let componentsDay = myCalendar.components([.Year , .Month , .Day], fromDate: dayValue)

@马丁纳,谢谢。我只是搜索了一下,找到了。“你赢了我!”马丁纳,谢谢。我只是搜索了一下,找到了。NSCalendar有一个名为isDateInToday的方法NSCalendar有一个名为isDateInToday的方法