我有一个量角器测试,我确保元素中的日期文本等于当前日期。这并不总是有效,因为一个值来自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);
});
答案 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作为参考