2017-06-20 7 views
-1

Ich mache in Übereinstimmung mit this Frage und ich muss meine resultierende Zeit Zeichenfolge formatieren. Ich benutze Bootstrap-Datetimepicker und moment.js und ich habe diesen Code:Javascript Moment.js Format Datum

$("#datetimepicker2").on("dp.change", function (e) { 
    console.log('date2: ' + e.date.format('MM.DD.YYYY HH:mm:ss')); 
    end_date = e.date; 
    end_date.toJSON = function(){ return moment(this).format(); }; 
}); 
console.log(JSON.stringify(end_date)); 

Mein Problem ist, dass ich

"2017-06-20T17:29:05+03:00" 

erhalten, während ich so etwas wie dies benötigen:

"2017-06-20T17:29:05.013Z" 

Irgendwelche Ideen wie man es bekommt, wäre willkommen. Vielen Dank.

+0

Na, dann gehen Sie lesen die Dokumentation von moment.js und finde heraus, welche Formatspezifizierer verfügbar sind ...? – CBroe

Antwort

0

Sie können das Momentenobjekt in js date umwandeln und toISOString() verwenden. moment(). ToDate(). ToISOString();

+0

das Problem ist, dass Zeitzone nicht beibehalten wird, wenn überschreiben 'toJSON' Methode – Masha

0

Sie können .tz() vor .format() und übergeben Sie in der Zeitzone innerhalb .tz ("Amerika/New_York") hinzufügen, usw.

$(function() { 
 
    $("#datetimepicker2").datepicker(); 
 
    $("#datetimepicker2").on("change", function(e) { 
 
    console.log(moment().utc($(this).val()).format()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data.js"></script> 
 
Date: <input type="text" id="datetimepicker2" />

+0

nicht funktioniert, sagen' Kann Eigenschaft 'toLowerCase' von undefined 'nicht lesen. Irgendwelche Ideen was das sein könnte? Ich überschreibe eine 'toJSON'-Methode, um die Zeitzone zu erhalten – Masha