我正在尝试使用 Moment.js 将时间(单独时间)从已知时区转换为我的本地时区。
我编写了以下函数,并且得到invalidDate
了输出。
const convertToLocalTime = (time, tz) => {
const t = moment.tz(time, tz)
const localTime = t.local()
}
time
只是时间;没有任何日期,例如:10:06 am
和,tz
是一个时区字符串,例如: Europe/Berlin
我究竟做错了什么?
请参阅在 Zone 中解析:
该
moment.tz
构造函数将所有相同的参数时刻构造,但使用的最后一个参数的时区标识符。
由于您的输入 ( 10:06 am
) 不是 ISO 8601/RFC 2822 识别格式(请参阅moment(String)
文档),您必须传递格式参数,如moment(String, String)
.
这是一个实时示例:
const convertToLocalTime = (time, tz) => {
const t = moment.tz(time, 'hh:mm a', tz)
const localTime = t.local()
return localTime;
}
const res = convertToLocalTime("10:06 am", 'Europe/Berlin');
console.log( res.format('hh:mm a') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone-with-data-2012-2022.min.js"></script>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句