Swift 2 for 循环低和高日期之间

Posted

技术标签:

【中文标题】Swift 2 for 循环低和高日期之间【英文标题】:Swift 2 for loop low and high date between 【发布时间】:2018-08-17 22:57:02 【问题描述】:

我有数组;

var mydates             : [String] = []
let startDate           = "2018-03-01"
let endDate             = "2018-03-03"

我有 3 个变量,startDateendDatedates,我想附加这些变量,比如;

如果startDate = 2018-03-01,并且endDate = 2018-03-03

将在开始日期和结束日期的所有日期之间添加 dates variable inside = "2018-03-01,2018-03-02,2018-03-03"。

我怎样才能在 swift 2 中做到这一点?

【问题讨论】:

比较***.com/questions/32536612/…和***.com/questions/49169862/… 【参考方案1】:

这是打印两个日期之间的所有日期的解决方案(Swift 4 代码)

var mydates : [String] = []
let startDate = "2018-03-01"
let endDate   = "2018-03-05"

var dateFrom =  Date() // First date
var dateTo = Date()   // Last date

// Formatter for printing the date, adjust it according to your needs:
let fmt = DateFormatter()
fmt.dateFormat = "yyy-MM-dd"
dateFrom = fmt.date(from: startDate)!
dateTo = fmt.date(from: endDate)!


while dateFrom <= dateTo 
    mydates.append(fmt.string(from: dateFrom))
    dateFrom = Calendar.current.date(byAdding: .day, value: 1, to: dateFrom)!



print(mydates) // Your Result

输出是:

["2018-03-01", "2018-03-02", "2018-03-03", "2018-03-04", "2018-03-05"]

【讨论】:

请详细说明您的答案,以便其他人了解您所做的事情。 @Lachie 现在检查一下 :)

以上是关于Swift 2 for 循环低和高日期之间的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 使用 for 循环将数据添加到核心数据

Swift:for循环中延迟的动画不起作用?

以日期时间格式查找两列数据之间的单个时间跨度,可能使用 for 循环

日期时间范围 vb.net for 循环

用javascript计算任意两个日期之间的工作日(去掉周六周日),不用while循环,而是用for循环

用for循环计算任意两个日期之间的工作日(去掉周六周日)