编程语言
首页 > 编程语言> > javascript-本地时间到本地时间

javascript-本地时间到本地时间

作者:互联网

我正在尝试将国外时间转换为本地时间.我要在欧洲/伦敦约会.目前,我正在使用moment-timezone来使我的代码正常工作,但是它给了我错误的输出.

resultDate = new moment('2017-06-30T22:10:00').tz('Europe/London').format('YYYY-MM-DD HH:mm:ss');

我认为代码认为日期输入已经是本地时间,因此我需要将其转换为欧洲/伦敦,这将得出本地结果,而我想要的实际上是将国外时间转换为本地时间.

简而言之,将日期和时间作为我的输入时间(2017-06-30T22:00:00),由于我目前居住在亚洲/马尼拉,我希望提前7小时(2017-07-1T05:00:00) ,提前7小时到伦敦.但是我得到的结果是2017/06/30 15:00:00 0100.

我可以利用代码中显示的“欧洲/伦敦”或“亚洲/马尼拉”信息来做到这一点吗?

解决方法:

您可以使用moment.tz将您的输入解析为欧洲/伦敦时间,然后使用tz函数将其转换为亚洲/马尼拉.

前者使用给定的时区解析输入,而后者则将力矩对象转换为给定的时区.

这里是一个工作示例:

// Parse input considering as London tz
var timeInLondon = moment.tz('2017-06-30T22:10:00', 'Europe/London');
// Converting input to Manila
var timeInManila = timeInLondon.tz('Asia/Manila');
// Show result
console.log(timeInManila.format('YYYY-MM-DD HH:mm:ss'));
<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.11/moment-timezone-with-data-2010-2020.min.js"></script>

标签:javascript,node-js,momentjs
来源: https://codeday.me/bug/20191009/1878552.html