swift:dateformatter 提前 1 年返回日期

问题描述

我有一个函数,我希望返回今天的日期。然而,它比前一年跳了 1。这只发生在 12 月底。有人可以解释为什么会发生这种情况。

谢谢

        func getLastUpdateDate() -> String?{
            guard let date = UserDefaults.standard.value(forKey: "last_update_update_date") else {
                let calendar = Calendar.current
                let sevendaysAgo = calendar.date(byAdding: .day,value: -0,to: Date())
        print("sevendaysAgo")
        print(sevendaysAgo)
        
                let dateFormatter = DateFormatter()
                dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00")
                dateFormatter.dateFormat = "YYYY-MM-dd"
         print("dateFormatter.string(from: sevendaysAgo!)")
         print(dateFormatter.string(from: sevendaysAgo!))
               return dateFormatter.string(from: sevendaysAgo!)
            }
            return date as? String
        }


    //sevendaysAgo
    //Optional(2020-12-30 03:59:16 +0000)
    //dateFormatter.string(from: sevendaysAgo!)
    //2021-12-30

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)