2013-04-24 16 views
17

Ho questo codice di esempio:Come ottenere data, mese, anno in jQuery UI datepicker?

<div id="calendar"></div> 
$(document).ready(function() { 
    $('#calendar').datepicker({ 
     dateFormat: 'yy-m-d', 
     inline: true, 
     onSelect: function(dateText, inst) { 
      var month = dateText.getUTCMonth(); 
      var day = dateText.getUTCDate(); 
      var year = dateText.getUTCFullYear(); 
      alert(day+month+year); 
    } 
    }); 
}); 

Quando eseguo il codice, c'è un errore. Come ottenere questo (date, month, year)?

+0

potrebbe essere simile a [questa domanda] (http://stackoverflow.com/questions/2562986/getdate-with-jquery-datepicker) – KevinIsNowOnline

risposta

41

È possibile utilizzare il metodo getDate():

$('#calendar').datepicker({ 
    dateFormat: 'yy-m-d', 
    inline: true, 
    onSelect: function(dateText, inst) { 
     var date = $(this).datepicker('getDate'), 
      day = date.getDate(), 
      month = date.getMonth() + 1,    
      year = date.getFullYear(); 
     alert(day + '-' + month + '-' + year); 
    } 
}); 

FIDDLE

+1

perché l'hai fatto + 1 in date.getMonth() + 1? puoi expalin? thanks –

+1

month è 0..11, e deve essere tradotto in 1..12 – Atara

+0

small edit: day = date.getDay(), ... – doom4s

5

Utilizzare l'oggetto Date javascript.

8

Ciao, puoi provare a vedere questo jsFiddle.

Ho usato questo codice:

var day = $(this).datepicker('getDate').getDate(); 
var month = $(this).datepicker('getDate').getMonth(); 
var year = $(this).datepicker('getDate').getYear(); 

Spero che questo aiuta.

+3

Ora nel 2015 il metodo 'getYear()' è deprecato. Usa invece 'getFullYear()'. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getYear –

0

che dire di quel modo semplice)

$(document).ready -> 
$('#datepicker').datepicker(dateFormat: 'yy-mm-dd', onSelect: (dateStr) -> 
    alert dateStr # yy-mm-dd 
    #OR 
    alert $("#datepicker").val(); # yy-mm-dd