Javascript 两种字符串格式HH:MM:SS的If条件比较

Javascript 两种字符串格式HH:MM:SS的If条件比较,javascript,Javascript,嗨,我是javascript新手,我想实现一个代码,下面有两个变量 开始时间和结束时间为军用格式 var start1= 08:00:00 var endto=03:00:00 我想创造一个条件,如果我的赠品时间介于start1和end-to之间 例: giventime=02:00:00它将通过,因为它在08:00:00-03:00:00的范围内 giventime=05:00:00它不会通过,因为它不在08:00:00-03:00:00的范围内 我尝试使用以下代码: var

嗨,我是javascript新手,我想实现一个代码,下面有两个变量 开始时间和结束时间为军用格式

  var start1= 08:00:00
  var endto=03:00:00
我想创造一个条件,如果我的赠品时间介于
start1
和end-to之间

例:

giventime=02:00:00
它将通过,因为它在
08:00:00-03:00:00的范围内

giventime=05:00:00
它不会通过,因为它不在
08:00:00-03:00:00的范围内

我尝试使用以下代码:

   var start1= 08:00:00
   var endto=03:00:00
   var giventime = 02:00:00 


if giventime>start1 && giventime<=endto {

//but doesnt work it should allow because 02:00:00 is withing the range of 
  start1 and endto
     }
var start1=08:00:00
var endto=03:00:00
var giventime=02:00:00

如果giventime>start1&&giventime因为格式问题,您将遇到问题。相反,您可以查看包含日期的时间,这可以使用
newdate()
方法完成


例如,如果对开始日期执行了
新日期(“2019年1月19日08:00:00”)
,对结束日期执行了类似操作,则可以将日期对象与
if
语句进行比较。

您需要一个条件来检查开始时间是否高于结束时间

在这种情况下,您需要检查给定的日期是大于开始日期还是小于结束时间

"02:00:00" > "08:00:00" || "02:00:00" < "03:00:00" // true
"05:00:00" > "08:00:00" || "05:00:00" < "03:00:00" // false

"02:00:00" > "03:00:00" && "02:00:00" < "08:00:00" // false
"05:00:00" > "03:00:00" && "05:00:00" < "08:00:00" // true
“02:00:00”>“08:00:00”| |“02:00:00”<“03:00:00”//true
“05:00:00”>“08:00:00”| |“05:00:00”<“03:00:00”//false
“02:00:00”>“03:00:00”和&“02:00:00”<“08:00:00”//false
“05:00:00”>“03:00:00”和“05:00:00”<“08:00:00”//true
函数IsInTime(开始、结束、给定)
{
如果(开始<结束)
{

返回(给定>开始和给定开始| | |给定您可以添加具有给定时间的任何日期,并将其转换为
日期
,然后使用
getTime()
获取
毫秒
。现在检查
开始>结束
后减去1天

var start1='08:00:00'
var endto='03:00:00'
var givenTime='02:00:00'
函数创建器(开始、结束、给定){
start=新日期(`2019年2月12日${start}`)。getTime();
end=新日期(`2019年2月12日${end}`)。getTime();
given=新日期(`2019年2月12日${given}`)。getTime();
如果(开始>结束){
开始-=24*60*60*1000;
}
返回开始<给定和给定<结束;
}
console.log(isTimeGreater(start1、endto、givenTime))

日志(isTimeGreater(start1,endto,'04:00:00'))
您可以分析字符串并将其转换为秒以进行比较。@Ele可以按原样比较字符串
var start1=08:00:00
是一个语法错误。让start大于end也没有多大意义。如果end值应该是pm,则至少使用24小时格式。然后简单的字符串比较son已经足够检查所需内容。@04FS这是“时间是军事格式”的情况。
08:00:00
是08 am。
08:00:00
03:00:00
是从第n天的08 am到第n+1天的03 am