昨天不同时区的日期不正确



我有一个函数可以计算中欧昨天的日期。yesDay = 2020-11-03 00:31:25 +0000中的日期值始终正确。在yesDay通过日期格式化程序(在返回语句处(后,它显示yesDay- 12020-11-02。我认为yesDay的类型是Date,所以我不能只使用字符串操作从其他数据中剔除日期。谢谢你的建议。

func yesterdayDate() -> String {

var dayComponent = DateComponents()
var calendar = Calendar.current
calendar.timeZone = TimeZone(identifier: "Europe/Paris")!
dayComponent.day = -1
let yesDay =  calendar.date(byAdding: dayComponent, to: Date())!

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter.string(from: yesDay)
}

您还需要在DateFormatter上设置时区。

最新更新