【问题标题】:Get last 7 and next 7 days in date format in swift以日期格式快速获取过去 7 天和接下来 7 天
【发布时间】:2021-11-27 23:37:22
【问题描述】:

我正在尝试用 15 个值填充 Date 类型的数组,今天、前 7 天和接下来的 7 天。我很难弄清楚如何获得日期。我尝试这样实现它:

func setupDates(){
        //get date of 7 days prior to right now
        for i in 1...15 {
            //add a day per iteration
            //append date to date array
        }
    }

【问题讨论】:

  • 提示:addingTimeInterval(_:)
  • @ElTomato 可怕的提示。并非每个日期都有 24 小时。
  • date(byAdding:to:options:)

标签: ios swift nsdate


【解决方案1】:

我建议看看Calendar

它可能有点麻烦,但通常具有很大的功能

所以你可能会做类似...

let anchor = Date()
let calendar = Calendar.current

let formatter = DateFormatter()
formatter.dateStyle = .long
formatter.timeStyle = .long
for dayOffset in -7...7 {
    if let date = calendar.date(byAdding: .day, value: dayOffset, to: anchor) {
        print(formatter.string(from: date))
    }
}

nb:这是一个简单的游乐场测试

这将打印类似...

October 1, 2021 at 10:22:05 AM GMT+10
October 2, 2021 at 10:22:05 AM GMT+10
October 3, 2021 at 10:22:05 AM GMT+11
October 4, 2021 at 10:22:05 AM GMT+11
October 5, 2021 at 10:22:05 AM GMT+11
October 6, 2021 at 10:22:05 AM GMT+11
October 7, 2021 at 10:22:05 AM GMT+11
October 8, 2021 at 10:22:05 AM GMT+11
October 9, 2021 at 10:22:05 AM GMT+11
October 10, 2021 at 10:22:05 AM GMT+11
October 11, 2021 at 10:22:05 AM GMT+11
October 12, 2021 at 10:22:05 AM GMT+11
October 13, 2021 at 10:22:05 AM GMT+11
October 14, 2021 at 10:22:05 AM GMT+11
October 15, 2021 at 10:22:05 AM GMT+11

nb:今天是第 8 天 nbb:你的问题标题是“日期格式”,但你只是想用Dates 填充一个数组。无论哪种方式,基本概念都适用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多