如何使用时刻'抵消'日期/时间

问题描述:

我有一个日期(用户选择)的输入框。我想使用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(); 

但它只是一直给我现在的日期时间。

谢谢。

确保您还要加载时区数据,例如: 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。

你基本上是试图 你做了正确的几乎获得当前时间为特定的时区,但我看不出有任何需要传递的日期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"