【问题标题】:Datepicker maximumDate stuck on yesterday day during early time of the current dayDatepicker maximumDate 在当天早​​些时候停留在昨天
【发布时间】:2016-03-29 00:13:45
【问题描述】:

我有一个日期选择器,它设置为不允许用户选择未来的日期。它的最大日期设置为 viewDidLoad 上的当前时间。

dateDatePicker.maximumDate = NSDate()

但我一直注意到一个错误。今天到中午的最大日期是昨天的日期。但是现在,在中午之后,它显示的是今天的日期。

我实现它的方式:当用户想要使用日期选择器时,它会以 alpha 显示和隐藏。所以我不是在每次显示选择器时都设置最大日期,而是在加载它所在的视图时设置最大日期。

所以我不确定这是否是一个错误? 它与时区有关吗? 或者与我只在他们查看加载时调用 dateDatePicker.maximumDate 并且这可能在几天前​​发生的事实有关? 或者我是否应该在每次显示 datePicker 时重置 maximumDate?

【问题讨论】:

    标签: ios swift datepicker


    【解决方案1】:

    是的,您几乎肯定应该在每次显示日期选择器时设置最大日期。

    如果您在前一天设置了最大日期,然后从未更新它或关闭视图控制器,则它不会更改。

    在 viewWillAppear 中设置它,而不是 viewDidLoad。

    如果这不起作用,请使用 NSCalendar 和 NSDateComponents 构建当前日期为 23:59 的 NSDate(从当前日期获取 MM/DD/YYYY 作为日期组件,然后手动将时间设置为 23 :59. 应该可以的。

    【讨论】:

      猜你喜欢
      • 2019-08-13
      • 2012-03-29
      • 1970-01-01
      • 2016-05-28
      • 2014-05-25
      • 1970-01-01
      • 2020-05-09
      • 2011-06-14
      • 1970-01-01
      相关资源
      最近更新 更多