Cómo obtener la fecha de jQuery UI datepicker


85

Quiero obtener la fecha de datepicker cada vez que el usuario elija la fecha en jQuery UI datepicker y haga clic en el botón en el formulario.

Bueno, necesito obtener el día, mes y año de la fecha que elijan. ¿Cómo puedo obtener el formulario de fecha de jQuery UI?

Respuestas:


130

Utilizar

var jsDate = $('#your_datepicker_id').datepicker('getDate');
if (jsDate !== null) { // if any date selected in datepicker
    jsDate instanceof Date; // -> true
    jsDate.getDate();
    jsDate.getMonth();
    jsDate.getFullYear();
}

¿Es esa una forma de ejecutar cualquier método en el tipo de datos de fecha? Quiero decir, getDate, getMonth, getFullYear, etc.
Ajeeb.KP

Después de llamar a getDate en datepicker, obtendrá el objeto js Date () que luego se puede usar para llamar a getDate, getMonth, getFullYear, etc.
CoolEsh

si imprimimos la variable jsDate, entonces nos dará algo como esto: Lunes 24 de agosto de 2020 00:00:00 GMT + 0530 (hora estándar de la India) ahora podemos aplicar el método getDate, getMonth, getFullYear en jsDate.
Laveena

87

Puede recuperar la fecha utilizando la función getDate:

$("#datepicker").datepicker( 'getDate' );

El valor se devuelve como un objeto Fecha de JavaScript.

Si desea utilizar este valor cuando el usuario selecciona una fecha, puede utilizar el evento onSelect:

$("#datepicker").datepicker({
   onSelect: function(dateText, inst) { 
      var dateAsString = dateText; //the first parameter of this function
      var dateAsObject = $(this).datepicker( 'getDate' ); //the getDate method
   }
});

El primer parámetro es en este caso la fecha seleccionada como cadena. Utilice parseDate para convertirlo en un objeto de fecha JS.

Consulte http://docs.jquery.com/UI/Datepicker para obtener la referencia completa de jQuery UI DatePicker.


la mejor solución porque no se requiere una variable global de objeto de fecha
Rashid

24

Prueba esto, funciona a las mil maravillas, da la fecha que has seleccionado. formulario onsubmit intente obtener este valor: -

var date = $("#scheduleDate").datepicker({ dateFormat: 'dd,MM,yyyy' }).val();

Referencia aquí



1

A veces hay muchos problemas con él. En el atributo, el valor de los datos del selector de datos es 28-06-2014, pero el selector de fecha se muestra o hoy o nada. Lo decidí de tal manera:

<input type="text" class="form-control datepicker" data-value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" value="<?= date('d-m-Y', (!$event->date ? time() : $event->date)) ?>" />

Agregué a la entrada del atributo datapicker data-value, porque si llamo a jQuery (this) .val () O jQuery (this) .attr ('value') - nada funciona. Decidí iniciar en ciclo cada datapicker y tomar su valor del atributo data-value:

 $("form .datepicker").each(function() {
        var time = jQuery(this).data('value');
        time = time.split('-');
        $(this).datepicker('setDate', new Date(time[2], time[1], time[0], 0, 0, 0));
    });

y funciona bien =)


esto solo funcionará si su formato de fecha es dmY ... si tiene mdY o cualquier otro formato, ¡está perdido!
Mohamed Nuur

0

La respuesta de NamingException funcionó para mí. Excepto que usé

var date = $("#date").dtpicker({ dateFormat: 'dd,MM,yyyy' }).val()

datepickerno funcionó pero lo dtpickerhizo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.