Ios 最简洁的修复。工作日返回错误日期

Ios 最简洁的修复。工作日返回错误日期,ios,swift,date,Ios,Swift,Date,我正在尝试获取一周中的当前日期,这段代码将在未来某一天返回。最简洁的解决方法是什么 currentDay = DateFormatter().weekdaySymbols[Calendar.current.component(.weekday, from: Date())] print(currentDay) 在iOS中,工作日符号从周日到周六开始。它是一个数组,所以索引的范围从0到6 您只需将工作日数减去1即可获得正确的日期,如下所示: let weekDay = Calendar.cu

我正在尝试获取一周中的当前日期,这段代码将在未来某一天返回。最简洁的解决方法是什么

currentDay = DateFormatter().weekdaySymbols[Calendar.current.component(.weekday, from: Date())]


print(currentDay)

在iOS中,工作日符号从周日到周六开始。它是一个数组,所以索引的范围从0到6

您只需将工作日数减去1即可获得正确的日期,如下所示:

let weekDay = Calendar.current.component(.weekday, from: Date())

let currentDay = DateFormatter().weekdaySymbols[weekDay-1]
另外,请注意,当您尝试从Calendar API获取周日的工作日编号时,它将返回
1

请查找开发人员文档快照以供参考


在iOS中,工作日符号从星期日开始到星期六。它是一个数组,所以索引的范围从0到6

您只需将工作日数减去1即可获得正确的日期,如下所示:

let weekDay = Calendar.current.component(.weekday, from: Date())

let currentDay = DateFormatter().weekdaySymbols[weekDay-1]
另外,请注意,当您尝试从Calendar API获取周日的工作日编号时,它将返回
1

请查找开发人员文档快照以供参考


那是个坏习惯。你在一行中做的太多了。当它不起作用时,那就是一场噩梦。你应该分开<代码>让weekdaysSymbols=DateFormatter()。weekdaySymbols;让weekday=Calendar.current.component(.weekday,from:Date()),让currentDay=weekDaysSymbols[weekday]查看每个值。你觉得哪个奇怪?调试很重要。是的,我明白你的意思,当代码更加分离时,调试就更加清晰和容易了。注意,这是个坏习惯。你在一行中做的太多了。当它不起作用时,那就是一场噩梦。你应该分开<代码>让weekdaysSymbols=DateFormatter()。weekdaySymbols;让weekday=Calendar.current.component(.weekday,from:Date()),让currentDay=weekDaysSymbols[weekday]查看每个值。你觉得哪个奇怪?调试很重要。是的,我明白你的意思,当代码更加分离时,调试就更加清晰和容易了。注意,好的,明白了。.weekday和.weekday符号之间的不匹配有点奇怪,但这是一个非常简单的解决方案。谢谢,好的,明白了。.weekday和.weekday符号之间的不匹配有点奇怪,但这是一个非常简单的解决方案。谢谢