微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么JavaScript运行时错误:对象不支持属性或方法“ getTime”?getTime不是函数

如何解决为什么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,//startDate: "today",//clearBtn: true,//calendarWeeks: true,mdate2);
        $("#TEDATE").bind("change",'');
            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。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。但是找不到错误解决方案。我该如何解决

解决方法

在您的代码中,

import React from "react";
import { withRouter } from "react-router-dom";
const CreateRoom = (props) => {
  console.log(props);
  const [state,setState] = React.useState({});
  return (
    <div className="center-wrapper">
      <input
        className="room-input"
        placeholder="Room Name"
        onChange={(event) => {
          setState({ [event.target.name]: event.target.value });
        }}
        name="room"
      />
      <div
        className="btn"
        onClick={() => {
          props.history.push({
            pathname: `/set-user-name`,state: { room_name: state.room },});
        }}
      >
        Create Room
      </div>
    </div>
  );
};

export default withRouter(CreateRoom);

mdate1不是日期,它是字符串。

getTime()对日期对象而不是字符串起作用。这就是您遇到错误的原因 “ getTime不是函数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。