簡體   English   中英

如何將日期時間選擇器中的日期和時間限制從現在設置為現在的1個月?

[英]how to set date and time limitation in Date Time Picker from Now to 1 Month from Now?

我現在有一個線程在這里討論最小和最大日期時間, 在UIDatePicker中最小和最大日期。

但是我現在是編程的初學者,我對日期和時間對象有點困惑。 我已經嘗試過,但是無法正確設置日期時間選擇器。 因此,我想將日期時間選擇器設置為具有最小和最大限制時間。

最小為“現在”,最大為1個月。 我必須使用什么代碼? 提前致謝

https://i.stack.imgur.com/RxXUX.png

在此處輸入圖片說明

你可以試試

self.datePicker.minimumDate = Date()

self.datePicker.maximumDate =  Calendar.current.date(byAdding: .day, value: 30 , to:Date())!

要么

self.datePicker.maximumDate =  Calendar.current.date(byAdding: .month, value: 1 , to:Date())!

我建議使用Calendar的日期數學技巧。 它計算下個月的同一天。 如果不存在該日期(例如2月30日),則返回下一個最接近的可用日期。

let now = Date()
let calendar = Calendar.current
let dayComponents = calendar.dateComponents([.day], from: now)
let maximumDate = calendar.nextDate(after: now, matching: dayComponents, matchingPolicy: .nextTime)

要獲得從現在起未來一個月的准確Date (考慮到不同的月份長度),可以使用Date.date(byAdding:value:to:) ,例如在此答案中 您將得到結果並將其設置為選擇器的maximumDate

暫無
暫無

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

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