【发布时间】:2016-10-02 17:57:06
【问题描述】:
我正试图从我约会的星期一 00:00 返回。这是我的代码:
func getMonday(myDate: Date) -> Date {
let cal = Calendar.current
let comps = cal.dateComponents([.weekOfYear, .yearForWeekOfYear], from: myDate)
let beginningOfWeek = cal.date(from: comps)!
return beginningOfWeek
}
我的问题是它不返回星期一 00:00 ,而是星期六 22:00。
例子:
let monday1 = getMonday(myDate: date) //date is: 2016-10-04 17:00:00
print(monday1) //Prints: 2016-10-01 22:00:00 (Saturday)
我的问题是:
如何从myDatemyDate返回星期一00:00?
非常感谢。
【问题讨论】:
-
打印日期总是使用格林威治标准时间,所以我假设输出实际上是
2016-10-01 22:00:00 +0000,也就是您所在时区的2016-10-02 00:00:00,即星期日。Calendar有一个firstWeekday属性,用于控制将哪一天视为一周中的第一天,您可能必须将其设置为 2=Monday。