gpt4 book ai didi

javascript - 在 JavaScript 中比较两个日期值(作为字符串)

转载 作者:行者123 更新时间:2023-11-28 18:23:16 25 4
gpt4 key购买 nike

我有一个“创建日期”表,并且该列可以按升序和降序排序,我在 JavaScript 中使用 Protractor/Jasmine 来执行测试。

目前我正在执行以下操作,该操作有效,但我没有处理在上午创建的任何日期,然后发现了错误。

element.all(by.css('.ui-datatable-data > tr > td:nth-of-type(' + td + ')')).then(function (elements) {
for (i = 0; i < elements.length; i++) {
(function (index) {
elements[index].getText().then(function (text1) {
if (index != elements.length - 1) {
elements[index + 1].getText().then(function (text2) {
if (text2 != undefined && text1 != "") {
if (order == 'ascending') {
if (text1 < text2 || text1 == text2) {
expect(true).toBeTruthy();
}
else {
expect(text1 + ' was not less than ' + text2).toBe(false);
}
}
else if (order == 'descending') {
if (text1 > text2 || text1 == text2) {
expect(true).toBeTruthy();
}
else {
expect('text 1:' + text1 + '. Was not greater than:' + text2 + '.').toBe(false);
}
}
}
});
}
});
})(i);
}
});

我搜索了一下,发现这个方法通过 javascript 逐个字符地比较字符串。所以在例子中如下:

2016 年 9 月 6 日下午 5:17:16
2016 年 9 月 7 日 12:42:44 下午

第一个日期小于第二个日期,我的测试将通过上述方法。

但是在这个例子中:
2016 年 9 月 6 日 下午 5:17:16
2016 年 9 月 7 日 12:42:44 上午

第一个日期仍然小于第二个日期,但一旦到达“is P < A”,它就会失败。

同样:
2016 年 9 月 6 日下午 5:17:16
2016 年 9 月 7 日下午 2:42:44

第一个日期再次小于第二个日期,但达到“is 5 < 2”并失败。

有没有更聪明/更简单的方法来实现这一点?或者我真的错过了一些东西。

最佳答案

日期对象将完全按照您的预期执行: Date Object

使用示例数据的小示例:

var date = new Date("Sep 6, 2016, 5:17:16 PM ");

var date2 = new Date("Sep 7, 2016, 12:42:44 AM");

console.log(date < date2); // true

关于javascript - 在 JavaScript 中比较两个日期值(作为字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39579828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com