मेरे परिदृश्य में, मैं उपयोगकर्ता इनपुट वर्तमान date या इसके आधार पर अलग-अलग तारीख को मान्य कर रहा हूं, मुझे समय पिकर पिछले समय प्रतिबंध में सक्षम और अक्षम करने की आवश्यकता है। यदि उपयोगकर्ता इनपुट वर्तमान तिथि है तो समय में पिछले समय को प्रतिबंधित करने की आवश्यकता है picker अन्यथा सभी time सूची दिखाने की आवश्यकता है।

नीचे मेरा कोड

// MARK: Validate Current Date or Not Based on it Need to enable and disable timepicker past time

        let dateCurrents = Date()
        let formatters = DateFormatter()
        formatters.dateFormat = "yyyy-MM-dd"
        let resultDate = formatters.string(from: dateCurrents)

        if fullDate == resultDate {
            print("Same Date Past Time Disabled")
            let nows = Date()
            timePickerView.minimumDate = nows
            timePickerView.date = nows
        } else {
            print("Different Date Past Time Enabled")
            timePickerView.minimumDate =
            timePickerView.date =  // Need to Enable Past Time
        }
0
iosdev 2 पद 2019, 16:33

1 उत्तर

सबसे बढ़िया उत्तर

आप निम्न कार्य कर सकते हैं:

let fullDate = datePickerView.date
let now = Date()

let calendar = Calendar.current
let result = calendar.compare(now, to: fullDate, toGranularity: .day)
let isSameDay = result == .orderedSame

if isSameDay {
    print("Same Date Past Time Disabled")
    timePickerView.minimumDate = now
    timePickerView.date = now
} else {
    print("Different Date Past Time Enabled")
    timePickerView.minimumDate = nil
    timePickerView.date = now
}
1
Andreas Oetjen 3 पद 2019, 15:00