2017-02-25 70 views
0

我有一個日期(用戶選擇)的輸入框。我想使用moment.js來抵消按時區選擇的日期,例如'Europe/London'。所以讓我們說我的日期(2017年2月24日),我如何才能時刻給我的日期爲:如何使用時刻'抵消'日期/時間

當前日期時間爲2017年2月24日4時18分○○秒

所以我想要它返回2/25/2017 12:18:00這將是目前在倫敦英國的時間?

var x = moment().tz(dateStart, 'London/Europe').format(); 

但它只是一直給我現在的日期時間。

謝謝。

回答

0

確保您還要加載時區數據,例如: moment-timezone-with-data-2010-2020.js是否包含在2010年到2020年期間。

您應該在解析字符串時包含解析的格式,否則解析器只是在猜測。

「倫敦/歐洲」是不是有效IANA timezone identifier,該地區是第一位的,然後是城市,所以:

console.log(moment('2/24/2017','MM/DD/YYYY').tz('Europe/London').format());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.11/moment-timezone-with-data-2010-2020.js"></script>

注意,當您分析只是一個日期,時間組件將根據主機系統時區設置設置爲當天午夜,即本地00:00:00。

0

你基本上是試圖 你做了正確的幾乎獲得當前時間爲特定的時區,但我看不出有任何需要傳遞的日期moment()構造將得到當前日期時間爲您的位置,你想錯了時區字符串正確的是 - '歐洲/倫敦'

my current time in India now - 
moment().format('DD MM YYYY HH:MM:SS'); 
"08 03 2017 11:03:27" 

for London time zone 
moment().tz('Europe/London').format('DD MM YYYY HH:MM:SS'); 
"08 03 2017 05:03:34" 
相關問題