【发布时间】:2017-11-12 15:14:47
【问题描述】:
我正在使用一个 jquery 日期时间选择器插件,并且有三个文本框,即开始日期、结束日期、差异。插件完美运行,开始日期字符串(dd/MM/yyyy HH:mm)格式被正确转换,但结束日期字符串没有被转换为日期对象,它返回 NaN。谁能帮我? 这是我的代码:-
<script type="text/javascript">
$(document).ready(function () {
$('#<%= txtEndDate.ClientID %>').bootstrapMaterialDatePicker
({
weekStart: 0, format: 'DD/MM/YYYY HH:mm', shortTime: true
});
$('#<%= txtStartDate.ClientID %>').bootstrapMaterialDatePicker
({
weekStart: 0, format: 'DD/MM/YYYY HH:mm', shortTime: true
}).on('change', function (e, date) {
$('#<%= txtEndDate.ClientID %>').bootstrapMaterialDatePicker('setMinDate', date);
});
$('.mb').change(function () {
var start = $('#<%= txtStartDate.ClientID %>').val();
alert('start:-'+start);
var end1 = $('#<%= txtEndDate.ClientID %>').val();
alert('end:-'+end1);
if (start != "" && end1 != "") {
var eDate = Date.parse(end1);
var sDate = Date.parse(start);
alert(sDate);
alert(eDate);// gives NaN
var diff = Math.abs(eDate - sDate);
alert(diff);
// get total seconds between the times
var delta = diff / 1000;
// calculate (and subtract) whole days
var days = Math.floor(delta / 86400);
delta -= days * 86400;
// calculate (and subtract) whole hours
var hours = Math.floor(delta / 3600) % 24;
delta -= hours * 3600;
// calculate (and subtract) whole minutes
var minutes = Math.floor(delta / 60) % 60;
delta -= minutes * 60;
// what's left is seconds
var seconds = delta % 60;
$('#<%= txtDifference.ClientID %>').val(parseInt(days) + ":" + parseInt(hours) + ":" + parseInt(minutes) + ":" + parseInt(seconds));
}
})
});
</script>
alert('start:-'+start); 开始:-12/11/2017 20:52alert('end:-'+end1); 结束:-13/11/2017 20:54
alert(sDate); 给 1513005720000
but alert(eDate); 给出 NaN
【问题讨论】:
-
能否请您发布警报语句的输出...?
-
@82Tuskers 我已经更新了这个问题。请看一下。
-
我刚刚回答了。只要让我知道这是否有效。
标签: javascript datetimepicker nan