[英]moment-timezone interpret date in certain timezone
如果我想建立一個表示特定時區的時間戳記的矩對象,例如歐洲/柏林時區的2019/04/13 00:00:00,我該怎么做?
我正在嘗試做的是:
moment.tz.setDefault('Europe/Berlin');
const m = moment('2019/04/13 00:00:00');
這導致m
設置為Sat Apr 13 2019 02:00:00 GMT+0200 (Central European Summer Time)
-比我需要的時間早2小時。 我需要的是00:00:00而不是02:00:00。
這種行為背后的原因是什么? 我該如何告訴moment-timezone“采用此日期和時間,並將其解釋為與我說的時區相同”?
根據您的評論,以下是演示如何應用重復問題答案的摘錄。
const berlin = moment.tz('2019/04/13 00:00:00', 'YYYY/MM/DD hh:mm:ss', 'Europe/Berlin'); console.log('UTC', berlin.utc().format()); // UTC 2019-04-12T22:00:00Z console.log('Europe/Berlin', berlin.tz('Europe/Berlin').format()); // Europe/Berlin 2019-04-13T00:00:00+02:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone-with-data.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.