javascript - 比较 javascript 中的两个时间,格式为 'hh:mm tt'

标签 javascript date time

我想比较两次
所以我尝试了这些:

"01:03 AM" > "01:02 AM"
> true


"01:01 AM" > "01:02 AM"
> false

在这些情况下结果是正确的,但在这个情况下结果不正确:

"12:55 AM" > "03:55 AM"
> true

如何以适当的精度比较这种格式的两次 "hh:mm tt" ? 是否需要将日期和时间一起包含进去,然后比较日期和时间?

最佳答案

更新:由于 safari 不支持空格分隔的日期,因此在所有浏览器中都可以使用斜杠代替空格。

您需要先将时间转换为日期对象,然后再转换为时间戳。然后您可以比较时间戳。您可以遵循这个基本示例:

var t = new Date();
d = t.getDate();
m = t.getMonth() + 1;
y = t.getFullYear();

//Convert time into date object
var d1 = new Date(m + "/" + d + "/" + y + " " + "12:55 AM");
var d2 = new Date(m + "/" + d + "/" + y + " " + "03:55 AM");

//Get timestamp
var t1 = d1.getTime();
var t2 = d2.getTime();
t1 > t2 ? alert("t1 greater than t2") : alert("t2 greater than t1");

但是对于复杂的时间比较,你应该使用插件。

关于javascript - 比较 javascript 中的两个时间,格式为 'hh:mm tt',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32137647/

相关文章:

javascript - 如何从 JavaScript 中的字符串中获取第 n 个(Unicode)字符

c - 为什么显示超时?

确定日期并输出 "time"(如果是今天)、 "yesterday"(如果是昨天)和实际日期(如果是在那之前)的 Javascript

javascript - 在 threejs 中使用纹理网格和线框网格

javascript - 如何使用 Gulp 通过 SSH 复制文件夹?

javascript - 使用导航栏使视口(viewport)中的 3 列高度相等

Oracle:到日期/时间的纪元毫秒,包括时区

asp.net 中 mm/dd/yyyy 格式的 Javascript 日期验证

javascript - 如何在不同月份的javascript中获取两个日期之间的差异

excel - 按时间间隔运行宏的代码?