87,921
社区成员
发帖
与我相关
我的任务
分享
<input type="text" id="d233" onclick="WdatePicker({startDate:'%y-%M-%d 00:00:00',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/>
<input type="text" id="d233" onclick="WdatePicker({onpicking: dateObj.onPicking,onpicked: dateObj.onPicked,startDate:'%y-%M-%d %h:%m:%s',dateFmt:'yyyy-MM-dd HH:mm:ss',alwaysUseStartDate:true})"/>
<script>
var dateObj = {
prevDate: null,
newDate: null,
onPicking: function (dp) {
this.prevDate = new Date(dp.cal.getDateStr().replace(/\d{2}:\d{2}:\d{2}/g, "00:00:00")).getTime()
this.newDate = new Date(dp.cal.getNewDateStr().replace(/\d{2}:\d{2}:\d{2}/g, "00:00:00")).getTime()
},
onPicked: function (dp) {
var that = this;
const oneDay = 24 * 60 * 60 * 1000;
if (this.prevDate - this.newDate >= oneDay) {
setTimeout(function () {
that.value = dp.cal.getNewDateStr().replace(/\d{2}:\d{2}:\d{2}/g, "00:00:00");
}, 0)
console.log(this.prevDate -this.newDate)
}
}
}
</script>
个人觉得: 这样不优雅、供您参考一下咯
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
function formatDateTime(sender) {
var oldTime = Date.parse(sender.value);
var oldTime = new Date(sender.value);
sender.value = oldTime.Format("yyyy-MM-dd 00:00");//只是示例
}
但这样会有问题的,原本选择时间(时分)的功能就不能用了