你能幫助我嗎,我不知道我錯過了什么配置
我想獲得2021年的星期范圍,墨西哥的第37周從周一開始到周日,但似乎我的代碼帶來了另一個星期的數字,也是從周日開始到周一。墨西哥的一周從
開始第37周 2021年9月13日 2021年9月19日
var weekNumber: Int = 0
var calendar = Calendar(識別符號:.gregorian)。
calendar.firstWeekday = 2
Calendar.minimumDaysInFirstWeek = 4
let year = calendar.component(.year, from: Date()
weekNumber = calendar.component(.weekOfYear, from: Date()
print("weekNumber"/span>,weekNumber)
print("Date",Date()
let startComponents = DateComponents(weekOfYear: weekNumber, yearForWeekOfYear: year)
let startDate = calendar.date(from: startComponents)!
let endComponents = DateComponents(day:7, second: 0)。
let endDate = calendar.date(byAdding: endComponents, to: startDate)!
print("startDate"/span>,startDate)
print("endDate"/span>,endDate)
uj5u.com熱心網友回復:
你使用的是錯誤的日歷。公歷的第一個作業日是周日,你需要的是使用ISO8601日歷。另外,當使用weekOfYear時,你應該使用yearForWeekOfYear:
。let now = Date()
var calendar = Calendar(識別符號:.iso8601)。
let yearForWeekOfYear = calendar.component(.yearForWeekOfYear, from: now)
let weekNumber = calendar.components(.weekOfYear, from: now)
print("weekNumber"/span>, weekNumber)
print("Date", now.description(with: .current))
let startDate = DateComponents(calendar: 日歷, weekOfYear: 周數, yearForWeekOfYear: 年份) .date!
let endDate = calendar.date(byAdding: .weekOfYear, value: 1, to: startDate)!
print("startDate", startDate.description(with: .current))
print("endDate", endDate.description(with: .current) )
這將列印:
周數 37
日期2021年9月19日,星期日,巴西利亞標準時間晚上9:07:02
startDate 2021年9月13日星期一巴西利亞標準時間上午12:00:00
。 endDate 2021年9月20日星期一巴西利亞標準時間12:00:00 AM
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/323149.html
標籤:


