Kendo 日期到日期时间

Kendo Date to Date Time

我正在 Kendo 日期时间选择器和 Kendo 日期选择器之间切换。选择器根据用户是否选择 "All Day" 在两者之间交替 - 然后只显示日期选择器。

但是,当从日期选择器切换到日期时间选择器时,如果更改日期然后尝试切换,Kendo 不存储日期,并显示日期时间选择器为空。

<div class="col-sm-6">
                    <label class=" control-label" for="start-date">Start Date & Time</label>
                    <input kendo-date-time-picker id="start-date-time" name="start-date-time"
                           data-ng-model="registeringUser.StartDate"
                           data-ng-required="true"
                           min="today"
                           max="howFarOut"
                           data-ng-show="!setAllDay">

                    <input kendo-date-picker id="start-date" name="start-date" 
                           data-ng-model="registeringUser.StartDate"
                           data-ng-required="true"
                           min="today"
                           max="howFarOut"
                           data-ng-show="setAllDay">

                    <span class="help-block"></span>
                </div>
                <div class="col-sm-6">
                    <label class=" control-label" for="end-date">End Date & Time</label>
                    <input kendo-date-time-picker id="end-date-time" name="end-date-time"
                           data-ng-model="registeringUser.EndDate"
                           data-ng-required="true"
                           min="today"
                           max="howFarOut"
                           data-ng-show="!setAllDay">

                    <input kendo-date-picker id="end-date" name="end-date"
                           data-ng-model="registeringUser.EndDate"
                           data-ng-required="true"
                           min="today"
                           max="howFarOut"
                           data-ng-show="setAllDay">

                    <span class="help-block"></span>
                </div>

我目前通过更改可见性在选项之间切换,只要不更改日期选择器然后切换回日期时间,它就可以工作。有谁知道切换回日期时间时如何存储日期?

例如:如果它是 2/02/20002 3:00 下午,那么当切换到仅日期时,它将变为 2/02/2002。但是,如果我将日期更改为 2/03/2002,然后将其切换回日期时间,则日历将显示为空 - 而我希望它显示为 2/03/2002 12:00 AM

scope.setAllDay = false;

                        scope.cbSelected = function () {
                            if (scope.myCheckbox) {  // when checked
                                scope.setAllDay = true;

                            } else {
                                scope.setAllDay = false;

                            }
                        };

您需要指定 kendo 日期时间选择器 parse-format 并将其与 kendo 日期选择器 format 匹配,默认情况下它遵循您的 culture 设置,例如 M/d/yyyy 代表 en-US

<input kendo-date-time-picker
       ng-model="dateString"
       k-ng-model="dateObject"
       k-parse-formats="['dd/MM/yyyy']"
       ng-show="!allDay"/>
<input kendo-date-picker id="start-date" name="start-date"
       k-format="dd/MM/yyyy"
       ng-model="dateString"
       ng-show="allDay">

看我的dojo