Swift 3の2つの日付を比較するにはどうすればよいですか?私は他のSwiftバージョンの多くの解決策を見つけましたが、それらは私にはうまくいきません。
let clickedDay:String = currentcell.DayLabel.text!
let currentDate = NSDate()
let currentDay = "" //want the current day
let dateFormatter = DateFormatter()
var dateAsString = ""
if Int(clickedDay)! < 10 {
dateAsString = "0" + clickedDay + "-11-2016 GMT"
}
else {
dateAsString = clickedDay + "-11-2016 GMT"
}
dateFormatter.dateFormat = "dd-MM-yyyy zzz"
let clickedDate = dateFormatter.date(from: dateAsString)
if currentDate as Date >= clickedDate! as Date {
return true
}
else {
//Want to get the days between the currentDate and clickedDate
let daysLeft = ""
}
2つの日付を比較しますが、その2つの日付の間にある日が必要です。誰かが私を助けてくれますか?感謝と挨拶
追加:2016年11月22日の日付と現在の日付(現在は2016年11月18日)がある場合、その間の日数(この場合は4)が必要です。
Date
このように延長するだけで、日数が変わります。
extension Date {
func daysBetweenDate(toDate: Date) -> Int {
let components = Calendar.current.dateComponents([.day], from: self, to: toDate)
return components.day ?? 0
}
}
この拡張機能を次のように使用します
let numOfDays = fromDate.daysBetweenDate(toDate: toDate)
DateFormatter
このように文字列を日付に変換するために使用できます。
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
dateFormatter.timeZone = TimeZone(abbreviation: "GMT")
let date = dateFormatter.date(from: "18-11-2016")
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加