swift - 快速获取日期名称和日期在日期范围内重复的次数

标签 swift date calendar

我有一个场景,我从后端 API 获取日期,我获取开始日期和结束日期,现在我想先检查那个日期的日期,例如,今天是 8-11- 2019 是星期五,结束日期是 20-11-2019。现在我想检查每个日期的日期名称以及日期在此日期范围内重复的次数。例如,如果星期五在此日期范围内两次,那么我想在星期五单击时获取这些日期,日期范围是动态的,它可以变化。屏幕截图中的示例检查, enter image description here

最佳答案

代码如下:

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/

相关文章:

ios - 警告在 iOS 7 上解雇ViewController 错误,但在 iOS 8 上则不然

python - Django Admin 中的欧洲日期输入

php - 在 laravel 5 的表单中自动获取今天的当前日期

android - 从互联网android获取数据

java - 如何计算考虑到日节省类次的日期之间的天数?

java - 内容解析器 : can't query for existing calendars

ios - 在调用 API 之前从数组中移除对象

ios - 简单的快速秒表不起作用

arrays - Swift - json 嵌套数组不返回值

java - 安卓日历 : get the next seven days details - date and month gives IllegalArgumentException