我已经开发了几个月的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
}
答案 0 :(得分:1)
首先使用dateformatter将第二个字符串转换为Nsdate。然后使用timeIntervalSinceDate找到两个NSDates之间的差异。您将获得timeIntervalSinceDate作为nstimeinterval。然后您可以使用此差异解决您的问题。