elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Por que me muestra menos dias y mes input date javascript
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Por que me muestra menos dias y mes input date javascript  (Leído 3,715 veces)
SrTrp


Desconectado Desconectado

Mensajes: 327


Script/C#


Ver Perfil
Por que me muestra menos dias y mes input date javascript
« en: 4 Noviembre 2020, 18:35 pm »

Bueno hola que tal lo que estoy haciendo es un input date con la fecha diaria y como maximo hasta un mes, el problema que cuando extraego el valor del dia me resta 2 dias y 1 mes es decir si yo escojo 4 de noviembre me muestra 2 de octubre en lugar de 4 de noviembre y en mi input si aparece 04/11/2020, pero me muestra lo dicho
Este es mi input que me da los resultados que quiero con php.
Código
  1. <input type="date" id="fecha_1" min="<?php echo $fecha_hoy;  ?>" max="<?php echo $fecha_fin;  ?>" style="padding: 7px;background: #91ffa4;border: 2px solid #509a5d;"/>
  2.  
Código
  1. date_default_timezone_set('America/Mexico_City');
  2. $fecha_hoy = date("Y-m-d");
  3. $fecha_fin = date("Y-m-d",strtotime($fecha_hoy."+ 1 month"));
  4.  
y acá mi javascript que me muestra lo que les menciono
Código
  1. var dia = new Date($("#fecha_1").val()).getDay();
  2. var mes = new Date($("#fecha_1").val()).getMonth();
  3. var anio = new Date($("#fecha_1").val()).getFullYear();
  4. document.getElementById("txt_cita").innerText = "Has selecionado el dia: " +dias[dia]+" "+dia+" de "+meses[mes]+" del "+anio+" Hora por confirmar..(Selecione una horario disponible)";
  5.  


En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.156



Ver Perfil
Re: Por que me muestra menos dias y mes input date javascript
« Respuesta #1 en: 4 Noviembre 2020, 19:47 pm »

Saludos,

Hay que seguir cierto estándar para construir una fecha con new Date("texto"), tienes que seguir el formato de EEUU: mes-día-año, Ej.: Para el 04 de noviembre del 2020:

Código
  1. new Date("11-04-2020")
  2. // Wed Nov 04 2020 00:00:00 GMT-0500 (hora estándar de Colombia)
  3.  
  4. new Date("2020-04-11")
  5. // Fri Apr 10 2020 19:00:00 GMT-0500 (hora estándar de Colombia)


En línea

SrTrp


Desconectado Desconectado

Mensajes: 327


Script/C#


Ver Perfil
Re: Por que me muestra menos dias y mes input date javascript
« Respuesta #2 en: 4 Noviembre 2020, 23:49 pm »

Saludos,

Hay que seguir cierto estándar para construir una fecha con new Date("texto"), tienes que seguir el formato de EEUU: mes-día-año, Ej.: Para el 04 de noviembre del 2020:

Código
  1. new Date("11-04-2020")
  2. // Wed Nov 04 2020 00:00:00 GMT-0500 (hora estándar de Colombia)
  3.  
  4. new Date("2020-04-11")
  5. // Fri Apr 10 2020 19:00:00 GMT-0500 (hora estándar de Colombia)
Ya lo hice con el formato que me pasaste lo hice manualmente y sigue igual si escojo 4 de noviembre me muestra, 3 de noviembre.
Código
  1. var string_fecha = $("#fecha_1").val().substring(5,7)+"-"+$("#fecha_1").val().substring(8,10)+"-"+$("#fecha_1").val().substring(0,4);
  2. var dia = new Date(string_fecha).getDay();
  3.  
  4. console.log('Dia: '+dia + " - Fecha:"+string_fecha);
  5. //Imprime Dia: 3 - Fecha:11-04-2020
  6. console.log("Valor:"+$("#fecha_1").val());
  7. //Imprime Valor:2020-11-04
  8.  
En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.156



Ver Perfil
Re: Por que me muestra menos dias y mes input date javascript
« Respuesta #3 en: 6 Noviembre 2020, 01:53 am »

Nop, getDay() devuelve el día de la semana, desde 0 para domingo a 6 para sábado, como vi que estabas utilizando un array dias[dia] supongo que estás usando uno del tipo:

Código
  1. var dias = [ "domingo", "lunes", "martes", "miercoles", "jueves", "viernes", "sabado" ]

Para obtener el día del mes tienes que usar getDate(), el cual devuelve un número desde 1 a 30 o 31 dependiendo del mes, es decir, para tu último ejemplo necesitas:

Código
  1. // Ej. para la fecha 05 de noviembre del 2020
  2. new Date("11-05-2020").getDate()
  3. // 5
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda con input box y javascript
Desarrollo Web
^kazike^ 0 3,005 Último mensaje 22 Julio 2010, 16:20 pm
por ^kazike^
javascript/php - leer input, mostrar
Desarrollo Web
Neibar 3 3,744 Último mensaje 14 Mayo 2012, 06:57 am
por engel lex
no muestra valor input
Desarrollo Web
kakashi20 1 2,129 Último mensaje 13 Junio 2013, 18:21 pm
por kakashi20
input con tres decimales. javascript
Desarrollo Web
OssoH 2 2,538 Último mensaje 27 Septiembre 2013, 18:08 pm
por OssoH
Solo muestra la fecha de un input date en chrome y no en firefox JS
Desarrollo Web
SrTrp 2 3,100 Último mensaje 22 Agosto 2021, 05:16 am
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines