He estado tratando de usar los datos de entrada de mi HTML para crear un objeto de fecha, pero no importa lo que modifique, muestra una fecha no válida o da la fecha de hoy. ¿Alguna ayuda sobre cómo puedo resolver esto? ¿O correcciones sobre lo que puedo estar haciendo mal? Gracias. Aquí está mi código a continuación.

    <input type="date" id="date">
    <script>
    var date = document.getElementById("date").value();
    var d = new Date(d);
    </script>
1
Mwangi Murimi 25 oct. 2019 a las 15:15

3 respuestas

La mejor respuesta

Puede ser útil para usted:

        function x(){
        var date = document.getElementById("date").value;
        var d = new Date(date);
        console.log(d);
        }
        
        
<input type="date" id="date">
<button onclick="x()">show</button>
1
FrustratedDeveloper 25 oct. 2019 a las 12:31

Pones mal .value () cambia a .value.

Puede usar moment js para formatear la fecha AAAA-MM-DD

function check(){
var date = document.getElementById("date").value;
    var d = new moment(date, 'YYYY-MM-DD');
    console.log(d)
}
function check(){
var date = document.getElementById("date").value;
    var d = new moment(date, 'YYYY-MM-DD');
    console.log(d)
}
    <input type="date" id="date" onblur="check()">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js" integrity="sha256-4iQZ6BVL4qNKlQ27TExEhBN1HFPvAvAMbFavKKosSWQ=" crossorigin="anonymous"></script>
3
Hien Nguyen 25 oct. 2019 a las 12:26

Puede probar lo siguiente:

<!DOCTYPE html>
<html>
<head>
<title>Date experiment</title>

<script>
function processDate(mdate){
    console.log(mdate); 
    }
</script>
</head>
<body>
<p>This is a paragraph.</p>
<form>
  Date : <br>
  <input type="date" id="start" name="mydate" onchange="processDate(this.value)"
       value="2019-10-20" min="2019-10-01" max="2019-12-31">
</form>
</body>
</html>
0
Adrian Mole 25 oct. 2019 a las 13:12