我有一个带有日期的输入框(用户选择)。我想使用moment.js来偏移由时区选择的日期,例如‘欧洲/伦敦’。因此,假设我的日期是(2/24/2017),我如何获得时刻给我的日期为:
当前日期时间为2/24/2017 4:18:00
所以我希望它返回2/25/2017 12:18:00,这是英国伦敦的当前时间?
var x = moment().tz(dateStart, 'London/Europe').format();但现在它一直在告诉我日期和时间。
谢谢。
发布于 2017-02-25 11:24:41
确保您还加载了时区数据,例如,将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。
发布于 2017-03-08 13:35:30
你基本上是在尝试获取特定时区的当前时间,但我认为没有必要传递日期,因为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"https://stackoverflow.com/questions/42450430
复制相似问题