[英]Swift - Get weekOfYear for a DateComponents entry
我在獲取有效 DateComponents 值的 weekOfYear 時遇到了一些問題。 這段代碼
let cal = Calendar.current
let dc = DateComponents(calendar:cal, year: 2023, month: 1, day:12)
let woy = dc.weekOfYear
print("Week of year: \(woy)")
產生
Week of year: nil
作為 output。
我預計2
...
DateComponents
是一種簡單類型。 它只是日期組件的集合。 它不會像計算一年中的星期那樣進行日期計算。 那是Calendar
的工作。 當你初始化日期組件時,你沒有給它一年中的一周,所以當你要求它時你得到nil
。
您可以要求日歷從您擁有的DateComponents
中創建一個Date
,並詢問它一年中的星期幾:
let cal = Calendar.current
let dc = DateComponents(calendar:cal, year: 2023, month: 1, day:12)
if let date = cal.date(from: dc) {
// prints 2 as expected
print(cal.component(.weekOfYear, from: date))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.