2个NSDates之间的差异,并用Int-Swift划分结果

时间:2016-02-08 11:23:07

标签: ios swift nsdate nsdateformatter

我已经开发了几个月的swift iOS应用程序了,而且我对日期很新,我觉得有点困难。所以我想要做的是在两个NSDate之间获得天数的差异(其中一个是今天,另一个是字符串),之后,得到它们之间的天数,并除以它带有int(dataMoneyLeft),以便每天获得金钱。

感谢您的帮助!

HERE'我的代码:

var datePassed1 : String?
var dataMoneyLeft : Int?

func getDateDifference(){
    let date = NSDate()
    let calendar = NSCalendar.currentCalendar()
    let components = calendar.components([.Day, .Month], fromDate: date)

    //let year =  components.year
    //let month = components.month
    //let day = components.day

    //-----------************-----------//

    let dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    let dateString = dateFormatter.dateFromString(datePassed1!)

    let calendar1: NSCalendar = NSCalendar.currentCalendar()

    // Replace the hour (time) of both dates with 00:00
    let date1 = calendar1.startOfDayForDate(dateString!)
    let date2 = calendar1.startOfDayForDate(date)

    let flags = NSCalendarUnit.Day
    let components1 = calendar.components(flags, fromDate: date1, toDate: date2, options: [])

    let finalDifference = components1.day


}

1 个答案:

答案 0 :(得分:1)

首先使用dateformatter将第二个字符串转换为Nsdate。然后使用timeIntervalSinceDate找到两个NSDates之间的差异。您将获得timeIntervalSinceDate作为nstimeinterval。然后您可以使用此差异解决您的问题。