2017-06-20 155 views
-1

我做按照this的問題,我需要格式化我得到的時間字符串。我用引導的DateTimePicker和moment.js,我有這樣的代碼:的JavaScript moment.js格式日期

$("#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)); 

我的問題是,我收到

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

,而我需要的是這樣的:

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

任何想法如何獲得它將是受歡迎的。謝謝。

+0

好,然後再去讀moment.js文檔並找出可用的格式說明符......? – CBroe

回答

0

可以瞬間對象轉換爲JS日期和使用toISOString()。 力矩()TODATE()toISOString()。;

+0

問題是壓倒一切的時候'toJSON'方法 – Masha

0

您可以添加.format前.tz()(),並通過在內部.tz( 「美國/紐約」)的時區等

$(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

不工作,說undefined'的'不能讀取屬性「toLowerCase」時區不保留。任何想法可能是什麼?我正在重寫一個'toJSON'方法來保存時區 – Masha