2017-09-04 39 views
-1

我使用時刻js進行時區轉換。即使系統時區與提供的時區相同,時刻Js也會更改時區對象中的時間

moment.tz("2017-09-04 1:48 PM", "Asia/Calcutta").format("DD-MM-YYYY HH:mm A"); 

矩JS時2017-09-04 1:48 PM轉換爲04-09-2017 19:18 PM當系統處於同一時區Asia/Calcutta

如何解決這個問題。

enter image description here

我的系統時區爲Asia/Calcutta。使用moment.tz.guess();可以獲得確切的時區值。

moment.tz("2017-09-04 1:48 PM", moment.tz.guess()).format("DD-MM-YYYY HH:mm A");

這也改變了時間。

在此先感謝。

回答

3

您輸入的格式不符合ISO 8601格式,您應在分析格式時添加"YYYY-MM-DD h:mm A"格式參數。

您的代碼給出棄用警告,因此您必須使用moment(String, String)解析方法,如parsing guide中所建議的。

這裏工作示例:

var m = moment.tz("2017-09-04 1:48 PM", "YYYY-MM-DD h:mm A", "Asia/Calcutta").format("DD-MM-YYYY HH:mm A"); 
 
console.log(m);
<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-with-data-2012-2022.min.js"></script>