【问题标题】:How to set a maximum date for date picker swift 4?如何为日期选择器 swift 4 设置最大日期?
【发布时间】:2017-10-29 19:18:18
【问题描述】:

我正在尝试将最大日期设置为比当前日期早 7 天(今天的日期)。

datePicker.maximumDate = 

【问题讨论】:

    标签: swift uidatepicker


    【解决方案1】:

    我想通了。

    var sevenDaysfromNow: Date {
       return (Calendar.current as NSCalendar).date(byAdding: .day, value: 7, to: Date(), options: [])!
    }
    
    datePicker.maximumDate = sevenDaysfromNow
    

    【讨论】:

    • 在 Swift 3 中编码时不应使用 NSCalendar。Swift 3 中的等效 Calendar 方法只需删除最后一个参数(选项)。 return Calendar.currentdate(byAdding: .day, value: 7, to: Date())!
    • 比加 7 天好只加 1 周 Calendar.current.date(byAdding: .weekOfYear, value: 1, to: Date())!
    • @LeoDabus,在某些日历中 7 天和 1 周不是必须的
    • @user28434 哪个日历一周没有 7 天?
    • @user28434 如果有问题,请使用固定日历
    【解决方案2】:

    我认为这更容易:

     datePicker.maximumDate = date.addingTimeInterval(604800)
    

    604800 秒是 7 天。

    【讨论】:

    • 作为Apple's documentation 的解释,此解决方案不考虑夏令时等复杂性。根据您的项目需求,addingTimeInterval() 可能适合也可能不适合。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2016-10-02
    相关资源
    最近更新 更多