比较两次javascript格式';hh:mmtt';

比较两次javascript格式';hh:mmtt';,javascript,date,time,Javascript,Date,Time,我想比较两次 所以我试了这些: "01:03 AM" > "01:02 AM" > true 在这些情况下,结果是正确的,但在本例中并非如此: "12:55 AM" > "03:55 AM" > true 我如何才能以正确的精度比较此格式的两次“hh:mm tt”? 是否需要将日期和时间包括在内,然后比较日期和时间?更新:因为safari不支持空格分隔的日期,所以在所有浏览器中使用斜杠而不是空格都有效 您需要先将时间转换为日期对象,然后再转换为时间戳。然后您可以比较

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

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

在这些情况下,结果是正确的,但在本例中并非如此:

"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");

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

更新:因为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");

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

更新:因为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");

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

更新:因为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");

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

将时间转换为分钟并进行比较

函数toMin(str){
var match=str.match(/(\d+):(\d+)\s(AM | PM)/)
var min=(+match[1]>11?0:match[1]*60)++match[2];
if(匹配[3]。toLowerCase()=='pm'){
最小值+=720;
}
返回最小值;
}
功能gt(v1、v2){
log(v1+'>'+v2+':'+(toMin(v1)>toMin(v2)))
}
功能lt(v1,v2){
log(v1+'<'+v2+':'+(toMin(v1)

将时间转换为分钟并进行比较

函数toMin(str){
var match=str.match(/(\d+):(\d+)\s(AM | PM)/)
var min=(+match[1]>11?0:match[1]*60)++match[2];
if(匹配[3]。toLowerCase()=='pm'){
最小值+=720;
}
返回最小值;
}
功能gt(v1、v2){
log(v1+'>'+v2+':'+(toMin(v1)>toMin(v2)))
}
功能lt(v1,v2){
log(v1+'<'+v2+':'+(toMin(v1)

将时间转换为分钟并进行比较

函数toMin(str){
var match=str.match(/(\d+):(\d+)\s(AM | PM)/)
var min=(+match[1]>11?0:match[1]*60)++match[2];
if(匹配[3]。toLowerCase()=='pm'){
最小值+=720;
}
返回最小值;
}
功能gt(v1、v2){
log(v1+'>'+v2+':'+(toMin(v1)>toMin(v2)))
}
功能lt(v1,v2){
log(v1+'<'+v2+':'+(toMin(v1)

将时间转换为分钟并进行比较

函数toMin(str){
var match=str.match(/(\d+):(\d+)\s(AM | PM)/)
var min=(+match[1]>11?0:match[1]*60)++match[2];
if(匹配[3]。toLowerCase()=='pm'){
最小值+=720;
}
返回最小值;
}
功能gt(v1、v2){
log(v1+'>'+v2+':'+(toMin(v1)>toMin(v2)))
}
功能lt(v1,v2){
log(v1+'<'+v2+':'+(toMin(v1)




您正在进行字符串比较,
1>0
如此!您不能将字符串作为时间进行比较,您应该将时间转换为时间戳,然后进行比较,如果您想使用javascript管理日期,那么我建议您使用此javascript库。这是非常强大的,你正在做一个字符串比较和
1>0
所以!你不能将字符串作为时间进行比较,你应该将时间转换为时间戳,然后比较你想要使用javascript管理日期的时间,所以我推荐给你这个javascript库s非常强大,您正在进行字符串比较,
1>0
so!您不能将字符串作为时间进行比较,您应该将时间转换为时间戳,然后进行比较,如果您想使用javascript管理日期,那么我建议您使用此javascript库。这是非常强大的,你正在做一个字符串比较和
1>0
所以!你不能将字符串作为时间进行比较,你应该将时间转换为时间戳,然后比较你想要使用javascript管理日期的时间,所以我推荐给你这个javascript库。它非常有用powerful@Alex它是有效的,不是吗。。。预期的o/p12:00 AM>10:36 AM是什么:错误,但12大于10?@Alex no 12:00 AM是午夜12@Alex它是有效的,不是吗。。。预期的o/p12:00 AM>10:36 AM是什么:错误,但12大于10?@Alex no 12:00 AM是午夜12@Alex它是有效的,不是吗。。。预期的o/p12:00 AM>10:36 AM是什么:错误,但12大于10?@Alex no 12:00 AM是午夜12@Alex它是有效的,不是吗。。。预期的o/p12:00 AM>10:36 AM是什么:错误,但12大于10?@Alex no 12:00 AM是午夜12@Alex我没有犯任何错误。你可以在safari中尝试这个演示:我编辑了你的小提琴,。。演示:,。。在中打开此链接safari@Alex得到问题:更新了答案。这里的演示:@Alex我没有任何错误。你可以在safari中尝试这个演示:我编辑了你的小提琴,。。演示:,。。在中打开此链接safari@Alex得到问题:更新了答案。这里演示:@Alex