我有一个TradingHours对象
tradingHours = [
{
dayCode: "Monday",
TimeZone: "Australia/Sydney",
OpenHour: "08:30:00",
CloseHour: "17:00:00"
}
]
我想要做的是基于本地时区显示本地openTime / closeTime。
例如,我的本地时区是“澳大利亚/珀斯”,不同的是三个小时,那么openTime是“ 05:30”,closeTime是“ 14:00”。
我经历了一些我在其他帖子中找到的解决方案,但我都不需要这些解决方案。
我可以计算出不同的分钟数(-180),然后进行一些编码以计算出相应的时间。
但是,我相信必须有更好的方法来实现它。
感谢您的帮助。
答案 0 :(得分:0)
您可以按以下方式使用矩时区的.tz函数:
var tradingHours = [
{
dayCode: "Monday",
TimeZone: "Australia/Sydney",
OpenHour: "08:30:00",
CloseHour: "17:00:00"
}
]
var a = moment.tz(tradingHours[0].OpenHour, 'HH:mm:ss', tradingHours[0].TimeZone)
console.log(a.tz('Australia/Perth').format('DD/MM/YYYY HH:mm:ss ZZ'));
// or
console.log(a.local().format('DD/MM/YYYY HH:mm:ss ZZ'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.js"></script>
<script src="https://momentjs.com/downloads/moment-timezone-with-data.js"></script>