2

daterangepicker插件允许使用 setStartDate 和 setEndDate 方法设置日期。插件中是否有设置时间的方法。

4

1 回答 1

4

似乎没有一种方法可以只设置时间,他们也没有在文档中提到它,但是如果你可以使用 setStartDate 和 setEndDate 方法来设置它。

这些方法将接受一个时刻对象,如果您只在调用这些方法时设置日期值,则时间将默认为上午 12:00。在传递它之前在 moment 对象上设置时间将更新 daterangepicker 中的时间。他们的文档没有提及,但是如果您使用 timePicker,选择器会更新时间和日期。这也适用于初始化 startDate 和 endDate 值的选择器,以及限制 minDate 和 maxDate 的时间。

请注意,如果您在没有定义时间的情况下设置 maxDate,它将默认为 12:00 am,如果您使用 timePicker,这可能会导致问题。例如,如果我将 maxDate 设置为 04/04/2017,选择器将让我选择该日期,但不会让我选择 2017 年 4 月 4 日凌晨 12:00 的时间。为了解决这个问题,我使用 moment 库在要设置 maxDate 的 moment 对象上设置 .hour(23) 和 .minutes(59) 。这允许用户选择 2017 年 4 月 4 日的任何小时或分钟。设置时刻的文档可以在这里找到:https ://momentjs.com/docs/#/get-set/

这不完全是您所要求的,但我将提供我用来解决类似问题的解决方案,用于更改此处没有方法的值,以防其他人需要它。我需要动态更改 maxDate,但没有内置方法来更改它,只有在初始化选择器时设置它的选项。为了解决这个问题,我删除了日期范围选择器并使用更新的选项在同一输入上重新初始化它。如果您需要删除选择器,请使用:

$('#myInput').data('daterangepicker').remove();
于 2017-04-20T01:32:00.450 回答