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?

TJ
fuente

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();
}
CoolEsh
fuente
¿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.

Vivek
fuente
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í

NameNotFoundException
fuente
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 =)

realmag777
fuente
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.

evobe
fuente