比较2个不工作的日期

时间:2017-11-29 14:28:51

标签: javascript html

<!DOCTYPE html>
<html>
<head>
<title> ΚΡΑΤΗΣΕΙΣ</title>
<link REL="STYLESHEET" TYPE="TEXT/CSS " HREF="style.css">
<style>
</style>
</head>
<body class="mybackroundcolor">
    ΑΦΙΞΗ:
    <input type="date" name="date1" id="date1" >
    </br>
    ΑΝΑΧΩΡΗΣΗ:
    <input type="date" name="date2" id="date2" >
    </br>
    <button type="button" onclick="fdate()">Click Me!</button>
<script>function fdate(){
    var k = document.getElementById("date1");
    var l = document.getElementById("date2");
    if(k.getTime() > l.getTime()){
    alert("impossible");}
    }
</script>
</body>
</html>  

我的功能有什么问题?我想使用getTime()将mm / dd / yyyy形式的日期转换为数字并进行比较。

2 个答案:

答案 0 :(得分:0)

输入字段的值不会自动转换为日期对象

    var k = document.getElementById("date1"); //k is a string
    var l = document.getElementById("date2"); //l is a string

使用valueAsNumber

    var k = new Date(document.getElementById("date1").valueAsNumber);
    var l = new Date(document.getElementById("date2").valueAsNumber);

答案 1 :(得分:-2)

你应该拿一个值来得到约会。现在你正在比较两个HTML 输入。我还会检查输入是否实际上是一个日期

<!DOCTYPE html>
<html>
<head><title> ΚΡΑΤΗΣΕΙΣ</title>
  <link REL="STYLESHEET" TYPE="TEXT/CSS ">
  <style>
  </style>
</head>
<body class="mybackroundcolor">
  ΑΦΙΞΗ:<input type="date" name="date1" id="date1" ></br>
  ΑΝΑΧΩΡΗΣΗ:<input type="date" name="date2" id="date2" ></br>
  <button type="button" onclick="fdate()">Click Me!</button>
  <script>
function fdate(){
   var k = document.getElementById("date1").value;
   var l = document.getElementById("date2").value;
   console.log(l)
   if (typeof k.getTime === 'function' || typeof l.getTime ===   'function' ) {

     if (k.getTime() > l.getTime())  alert("impossible");


  } else {
    console.log('wrong date')
  }
 }
</script>
</body>
</html>