我有一个场景,我从后端 API 获取日期,我获取开始日期和结束日期,现在我想先检查那个日期的日期,例如,今天是 8-11- 2019
是星期五,结束日期是 20-11-2019
。现在我想检查每个日期的日期名称以及日期在此日期范围内重复的次数。例如,如果星期五在此日期范围内两次,那么我想在星期五单击时获取这些日期,日期范围是动态的,它可以变化。屏幕截图中的示例检查,
最佳答案
代码如下:
let startDate : Date = Date()
let endDate : Date = Date()
let calendar = Calendar.current
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyyMMdd'T'HHmmss.SSS"
let dateFormatter2 = DateFormatter()
dateFormatter2.dateFormat = "EEEE"
let components = calendar.dateComponents([.day], from: startDate, to: endDate) //returns number of days
var date : Date = startDate
var numberOfDays : [String : (Int,[Date])] = ["Sunday" : (0, []), "Monday" : (0, []), "Tuesday" : (0, []), "Wednesday" : (0, []), "Thursday" : (0, []), "Friday" : (0, []), "Saturday" : (0, [])]
while date <= date2 {
let day : String = dateFormatter2.string(from: date)
print(day)
if let value = numberOfDays[day] {
var tempDateArr = value.1
tempDateArr.append(date)
numberOfDays[day] = ((value.0 + 1), tempDateArr)
}
date = calendar.date(byAdding: .day, value: 1, to: date)!
}
print(numberOfDays) // number of times day are repeating
关于swift - 快速获取日期名称和日期在日期范围内重复的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58765556/