【问题标题】:Subtract dates in Javascript在Javascript中减去日期
【发布时间】:2018-10-24 23:22:12
【问题描述】:

我的代码应该减去日期(enddate-startdate),但什么也没发生,也无法弄清楚问题出在哪里。

 <script type="text/javascript">
        function subtractDate()
        {

            var sDate = Date.parse("<%=txtStartDate.Text%>");
            var eDate = Date.parse("<%=txtEndDate.Text%>");
            var resultDate = document.getElementById("<%=txtnumberOfDaysCovered.ClientID%>")
            if (document.getElementById(sDate) < document.getElementById(eDate)) {
                var timeDiff = eDate.Subtract(sDate);
                resultDate = Math.floor(timeDiff / (1000 * 60 * 60 * 24));


            }
        }
    </script>

我已经尝试在后面调用它

    protected void txtStartDate_TextChanged(object sender, EventArgs e)
    {

       // SubtractDateStartDateChange();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "subtractDate(this.Id)", true);
    }

    protected void txtEndDate_TextChanged(object sender, EventArgs e)
    {
        //SubtractDate();
        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "subtractDate(this.Id)", true);
    }

【问题讨论】:

  • 请忽略最后一句话
  • 你可以edit你的问题。
  • 您不会对subtractDate 计算的结果做任何事情。因此什么也没有发生。
  • 什么都不会发生,因为你只是计算 resultDate 而不是在任何地方使用它
  • "&lt;%=txtStartDate.Text%&gt;"返回的值是多少?希望您知道使用内置解析器的陷阱,请参阅Why does Date.parse give incorrect results?

标签: javascript c# asp.net date


【解决方案1】:

您从后面的代码中传递subtractDate(this.Id),但函数subtractDate() 不期望客户端有任何参数。我认为,由于这个原因,该函数无法正常工作。function subtractDate() 需要 Id 参数,请使用参数更改函数。

希望以下功能可以正常工作。

function subtractDate(var id)
        {

            var sDate = Date.parse("<%=txtStartDate.Text%>");
            var eDate = Date.parse("<%=txtEndDate.Text%>");
            var resultDate = document.getElementById("<%=txtnumberOfDaysCovered.ClientID%>")
            if (document.getElementById(sDate) < document.getElementById(eDate)) {
                var timeDiff = eDate.Subtract(sDate);
                resultDate = Math.floor(timeDiff / (1000 * 60 * 60 * 24));


            }
        }

【讨论】:

    猜你喜欢
    • 2015-08-04
    • 2014-10-01
    • 1970-01-01
    • 2013-10-10
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    相关资源
    最近更新 更多