Il getDate metodo di datepicker restituisce un tipo di data, non una stringa.
È necessario formattare il valore restituito su una stringa utilizzando il formato della data. Utilizzare la funzione di FormatoData datepicker:
var startDate = $('#MilestoneStartDate').datepicker('getDate');
$.datepicker.formatDate('dd M yy', startDate);
L'elenco completo degli identificatori di formato è available here.
EDIT
$('#MilestoneStartDate').datepicker("getDate");
sempre dare la data corretta se la data è selezionata per mouse per fare clic su una data a finestra, ma se qualcuno scrivere manualmente o la data di pasta in diversi formati questo ti dà la data corrente.
Per gestire questa situazione, utilizzare il codice seguente.
$(function(){
$('#MilestoneStartDate').datepicker({
dateFormat: 'dd M yy'
});
});
var strSelectedDate = new Date($('#MilestoneStartDate').val());
var formatedDate = $.datepicker.formatDate('dd M yy', strSelectedDate);
alert(formatedDate);
Working Demo
Come per @Boris Serebrov commento
La chiave è new Date ($ ('# MilestoneStartDate') val()). - si cerca in realtà di "indovinare" il formato, quindi cose come "2 mar 2016", "2 marzo 2016" o "2016, 2 marzo" verranno analizzate correttamente.
Passo dopo passo:
Caso 1:
Qui strSelectedDate
ti danno la data in formato standard permette di dire se seleziono 02 Mar 2016
dalla data di comparsa è dare
Mer 2 marzo 2016 00:00:00 GMT + 0530
Ora
$.datepicker.formatDate('dd M yy', strSelectedDate);
darvi la data del formato come muggito
02 Mar 2016
Caso: 2
Come si menziona nella sua domanda se l'utente inserire manualmente data come 1/1/2016 strSelectedDate
fornire la data standard come muggito
Ven 1 Gennaio 2016 00:00:00 GMT + 0530
Poi
$.datepicker.formatDate('dd M yy', strSelectedDate);
darvi la data formattato
01 gen 2016
Qual è la data corretta come previsto.
Caso 3:
Ora, se utenti Scrivi una certa data non valida manualmente come 112016
poi strSelectedDate
rendimenti Invalid Date
ecco è possibile attuare alcune validazione lato client all'utente di inserire la data corretta.
Spero che questo ti aiuti.
http://stackoverflow.com/questions/4347483/jquery-datepicker-that-supports-multiple-formats. La seconda risposta è un'implementazione che consente più formati, speriamo che aiuti –
Implementazione/UX saggio, penso che sia più semplice inserire il formato previsto attorno all'input. '(GG/MM/AAAA)'. Quindi mostra solo un errore di convalida quando l'input non corrisponde al formato. Questo è molto più semplice di cercare di analizzare più formati e consente comunque l'input dell'utente al posto dei menu selezionati. –
@Eric Guan - puoi mostrare con un esempio cosa intendi – leora