将HTML日期从表单转换为JavaScript以比较两个日期。

时间:2015-02-26 22:28:42

标签: javascript html forms date

我正在尝试使用JavaScript编写一个计算两个日期之间差异的程序。我想要比较的两个日期是使用日期格式的HTML表单输入的。我想使用javaScript比较两个输入的日期,具体来说,找出整周的两个日期之间的差异,然后是剩余的日期。我已经设法比较javaScript中的两个硬编码日期,但是在表单中有两个日期时遇到了这个问题。任何指针将非常感谢! 以下是javaScript程序:

   <!DOCTYPE html>
   <html>
   <title> Dates </title>
   <head>Class Test

   <script language="javascript">
   function Ict5() { // ALERT BOX
   today = new Date(); //Using new Date(), creates a new date object with the current date and time

  birthday = new Date("March 28, 1995"); //using new date with stuff in the brackets, assigns the date to the variable
  birthday.setFullYear(1995); 
  msPerDay = 24 * 60 * 60 * 1000;
  msPerWeek = 7 * 24 * 60 * 60 * 1000;
  msBetween = (today.getTime() - birthday.getTime()); //get time Returns the number of milliseconds since midnight Jan 1, 1970
  daysBetween = Math.round(msBetween/msPerDay); //math round returns the value of a number rounded to the nearest integer.
  weeksBetween = Math.floor(msBetween/msPerWeek);
  window.alert("There are " +daysBetween+ " days or " +weeksBetween+ " full weeks between my date of birth and today ");
  }
  </script>
  </head>
  <body>

  <H1> An Example of Form </H1>



 <Form action="process.pl" method="POST" name="MyForm" onsubmit="return formValidation()">

            <p>Enter Date:</p>
            <input type=date name="date1" id="date1">
            <input type=date name="date2" id="date2">
 <button type="button" onclick="Ict5()">Calculate Fare</button><br>

    </Form>        


 </body>

</html> 

2 个答案:

答案 0 :(得分:1)

您可以使用moment.js library,尤其是manipulation methods来完成此操作。将JS日期转换为时刻对象后,您可以查询moment.week()并获取您要查找的数字。

var week1 = moment("2015-2-1").week(); var week2 = moment("2015-2-8").week(); var numOfWeeksInBetween = week2 - week1;

答案 1 :(得分:0)

您可以从输入中获取值,如下所示:

var date1 = new Date(document.getElementById("date1").value);