簡體   English   中英

下周開始和結束日期 swift

[英]Start and end date of next week swift

我需要得到像“1 月 31 日 - 2 月 6 日”這樣的日期

我使用了下一個代碼:

let calendar = Calendar(identifier: .gregorian)
let dateFormatter = DateFormatter()
let weekday = 1 
let sundayComponents = DateComponents(calendar: calendar, weekday: weekday)

let nextSunday = calendar.nextDate(after: Date(), matching: sundayComponents, matchingPolicy: .nextTimePreservingSmallerComponents)

我需要從周一到周日度過這段時間

我需要從周一到周日度過這段時間

您可以使用dateInterval(of:start:interval:for:)

let formatter = DateFormatter()
let calendar: Calendar = .current

let now = Date()
let weekFromNow = calendar.date(byAdding: .weekOfYear, value: 1, to: now)!

var start = weekFromNow
var interval: TimeInterval = 0
guard calendar.dateInterval(of: .weekOfYear, start: &start, interval: &interval, for: weekFromNow) else { return }

let end = calendar.date(byAdding: .day, value: -1, to: start.addingTimeInterval(interval))!
// or let end = start.addingTimeInterval(interval - 1)
// or let end = calendar.date(byAdding: .day, value: 6, to: start)!

print(formatter.string(from: start), "-", formatter.string(from: end)) 

這將尊重您設備上的“一周開始”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM