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