将两个不同的偏移量转换为相同的UTC日期

时间:2016-01-27 18:12:08

标签: javascript date timezone momentjs

我有一个量角器测试,我确保元素中的日期文本等于当前日期。这并不总是有效,因为一个值来自UTC,另一个值来自当地时区。如何比较这两个值以确保它们是相同的日期?感谢。

var moment = require('moment');
var dateFormatted = moment().utcOffset(-420).format('MMM DD, YYYY');   // set to Arizona time
var dateInfo = element(by.css('.date'));
dateInfo.getText().then(function (dateText) {
  var textFormatted = moment(dateText).utcOffset(-420).format('MMM DD, YYYY');
  expect(textFormatted).toEqual(dateFormatted);
});

2 个答案:

答案 0 :(得分:1)

使用utc

将时间转换为moment().utc()
var moment = require('moment');
var dateFormatted = moment().utc().format('MMM DD, YYYY');   // set to UTC timezone
var dateInfo = element(by.css('.date'));
dateInfo.getText().then(function (dateText) {
  expect(moment(dateText).utc().format('MMM DD, YYYY')).toEqual(dateFormatted);
});

答案 1 :(得分:0)

所以我明白了。使用Aman的建议并做moment().utc(),这是我的解决方案:

var moment = require('moment');
var dateInfo = element(by.css('.date'));
var dateFormatted = moment().utc('MMM DD, YYYY').format('MMM DD, YYYY'); // set to UTC timezone
dateInfo.getText().then(function (dateText) {
  var textFormatted = moment().utc(dateText,'MMM DD, YYYY').format('MMM DD, YYYY');
  expect(textFormatted).toEqual(dateFormatted);
});

我使用此question作为参考