【发布时间】:2016-11-09 07:53:18
【问题描述】:
我需要将最小日期设置为当前时间。但它只有在我设置没有时间的日期时才有效。我尝试了几种时间格式,但没有找到解决方案。
这是我的设置
默认值:
settings: {
locale: 'de',
viewMode: 'days',
format: 'DD. MMMM YYYY',
useStrict: true,
focusOnShow: false,
showClose: true,
},
日期选择器设置:
this.$time_from.datetimepicker($.extend(true, DefaultDatepicker.settings, {
minDate: DefaultDatepicker.getDateRange(0),
maxDate: DefaultDatepicker.getDateRange(365),
format: 'DD. MMMM YYYY - HH:mm',
viewMode: 'days'
}));
输出:08。 2016 年 11 月 - 00:00
计算日期的函数:
getDateRange: function (max) {
var CurDate = new Date();
CurDate.setDate(CurDate.getDate() + max);
var mm = CurDate.getMinutes();
var hh = CurDate.getHours();
var dd = CurDate.getDate();
var mm = CurDate.getMonth() + 1;
var y = CurDate.getFullYear();
//return mm + '/' + dd + '/' + y + ' ' + hh + ':' + mm + ':' + ss; //not working output: 2016-11-08T14:18:45+01:00 + error
return mm + '/' + dd + '/' + y;
},
//Example getDateRange(0) = now, getDateRange(1) = tomorrow
测试: 也不行
newgetDateRange: function (max) {
var date = new Date();
date.setDate(date.getDate() + max);
var ss = ( '0' + (date.getSeconds())).slice(-2);
var mm = ( '0' + (date.getMinutes())).slice(-2);
var hh = ( '0' + (date.getHours())).slice(-2);
var d = ( '0' + (date.getDate())).slice(-2);
var M = ( '0' + (date.getMonth() + 1) ).slice(-2);
var Y = date.getFullYear();
var $new = Y + '-' + M + '-' + d + 'T' + hh + ':' + mm + ':' + ss + 'Z';
return $new;
},
【问题讨论】:
标签: jquery twitter-bootstrap momentjs date-format eonasdan-datetimepicker