javascript - 为什么发生 JavaScript 运行时错误:对象不支持属性或方法“getTime”?(getTime 不是函数)
问题描述
以下代码是 MVC C# cshtml 文档。
@{
Layout = null;
ViewBag.Title = "Test";
}
<script src="~/Scripts/jquery-1.11.1.min.js"></script>
<script src="~/Scripts/bootstrap-datepicker.js"></script>
<script>
$(document).ready(init);
function init() {
//loadData();
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
var mdate1 = yyyy + '/' + mm + '/01';
var mdate2 = yyyy + '/' + mm + '/' + dd;
$('#TSDATE').datepicker({
startDate: -Infinity,
endDate: "today",
format: "yyyy/mm/dd",
autoclose: true,
todayHighlight: true,
language: 'zh-TW'
}).datepicker("setDate", mdate1);
$("#TSDATE").bind("change", function () {
var TSDATE = $("#TSDATE").val().replace(/\//g, '');
var TEDATE = $("#TEDATE").val().replace(/\//g, '');
if (TEDATE == '') {
$('#TEDATE').val($('#TSDATE').val());
} else {
if (TSDATE >= TEDATE) {
$('#TEDATE').val($('#TSDATE').val());
}
}
});
$('#TEDATE').datepicker({
startDate: -Infinity,
endDate: "today",
format: "yyyy/mm/dd",
autoclose: true,
//startDate: "today",
//clearBtn: true,
//calendarWeeks: true,
todayHighlight: true,
language: 'zh-TW'
}).datepicker("setDate", mdate2);
$("#TEDATE").bind("change", function () {
var TSDATE = $("#TSDATE").val().replace(/\//g, '');
var TEDATE = $("#TEDATE").val().replace(/\//g, '');
if (TSDATE == '') {
$('#TSDATE').val($('#TEDATE').val());
} else {
if (TEDATE <= TSDATE) {
$('#TSDATE').val($('#TEDATE').val());
}
}
});
}
</script>
<h2>Test</h2>
<div class="input-group input-daterange">
<input type="text" class="form-control" id="TSDATE">
<div class="input-group-addon">~</div>
<input type="text" class="form-control" id="TEDATE">
</div>
<script src="~/Scripts/bootstrap.min.js"></script>
当我运行代码时,第一个文本框(#TSDATE)的日期选择器出现但未能写入“yyyy + '/' + mm + '/01'”。第二个文本框(#TEDATE)完全失败,没有显示datepicker.The iexplore 出现错误并显示消息“对象不支持属性或方法'getTime'”。位置在 bootstrap-datepicker.js 中:
setDate: function(d) {
this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset()*60000)));
},
所以cshtml中的代码可能会在这里失败:
}).datepicker("setDate", mdate1);
Chrome 还会弹出“'getTime 不是函数”。我在网上对同一个问题做了一些研究,问题的关键可能是我使用的.js或我写的javascript。但我找不到错误的解决方案。我该如何解决?
解决方案
在您的代码中,
}).datepicker("setDate", mdate1);
mdate1 不是日期,它是字符串。
getTime() 是日期对象而不是字符串的函数。这就是您收到错误“getTime 不是函数”的原因。
推荐阅读
- android - Android Studio 3.5.2 模拟器。如何查看应用程序列表
- spring-boot - 向 infinispan 缓存添加数据时出现 ISPN000217
- arrays - 无法让我在 Ruby on Rails 中正确嵌套的强参数
- google-bigquery - 如何切换到用户帐户以访问 bigquery
- flutter - 为什么(通常)在 BLoC 模式上有一个存储库层?
- c++ - 有什么办法可以在标头中定义和声明一个外部对象?
- java - Java位操作:将两个短值组合为一个整数的方法?
- html - 电话号码结构的IE颜色问题
- c - gcc -W括号对 b=1 发出警告;!a & b 但不是 !a & 1
- java - Java如何写文件TotalSize