MomentJS:比较不同时区的时间
我有一些时区,我想知道哪一个是最早的时区中最早的一个。
例如:
- 时区X是星期四下午5点
- 时区Y是星期四晚上七点
其中最早的是X.
我在NodeJS中使用了momentjs和momentjs-timzone (不是浏览器包)
我试图比较毫秒时间戳,但这给了我两个相同的值:
if (momenttz().tz(timezoneX).format('x') > momenttz().tz(timezoneY).format('x'))
在NodeJS语法中,可以通过格式化时区来实现偏移值,find最小值并返回其时区值:
var moment = require('moment-timezone'); var inputTzArray = ['Pacific/Chatham', 'America/St_Johns', 'Asia/Jerusalem', 'America/New_York', 'America/Los_Angeles']; var tzOffsets = [] for (var i in inputTzArray) { var s = moment.tz(inputTzArray[i]).format('Z'); //format to offset tzOffsets[i] = parseFloat(s.replace(':','.')); //parse int offset } console.log(tzOffsets); var minIndex = tzOffsets.indexOf(Math.min.apply(Math, tzOffsets)); //find minimum's index console.log(inputTzArray[minIndex]); //Output earliest timezone
在交互式控制台中的链接中运行“node server.js”进行现场演示: http : //runnable.com/VJ3M3XdZAVg-EVOP