Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何比较输入的TimeSpan与数据库中的TimeSpan_Javascript_Jquery - Fatal编程技术网

Javascript 如何比较输入的TimeSpan与数据库中的TimeSpan

Javascript 如何比较输入的TimeSpan与数据库中的TimeSpan,javascript,jquery,Javascript,Jquery,我在TimeSpan课上收到过两次来自数据库的信息 begTime = current.data('bgtime'); endTime = current.data('endtime'); 我将它们与用户输入的两次进行比较 $('#timeToStart').on('change', function () { var startTime = $('#timeToStart').val(); sTimeH

我在TimeSpan课上收到过两次来自数据库的信息

begTime = current.data('bgtime');
                    endTime = current.data('endtime');
我将它们与用户输入的两次进行比较

 $('#timeToStart').on('change', function () {
            var startTime = $('#timeToStart').val();
            sTimeHire = startTime;


        });
        $('#timeToEnd').on('change', function () {
            var endTime = $('#timeToEnd').val();
            eTimeHire = endTime;
       });


if (begTime > sTimeHire || endTime < eTimeHire) {
                        alert("yayy it works");

                    }
$('timeToStart')。在('change',函数(){
var startTime=$('#timeToStart').val();
sTimeHire=startTime;
});
$('#timeToEnd')。on('change',function(){
var endTime=$('#timeToEnd').val();
eTimeHire=结束时间;
});
如果(begTime>sTimeHire | | endTime
出于某种原因,如果sTimeHire和begTime都是7:00pm,那么它将进入if语句,即使它只应该在begTime大于7:00pm时才进入

但是,如果我单独使用endTime进行实验,它会工作,如果endTime和eTimeHire都是晚上9:00,它就不会进入if语句

我注意到begTime没有附加任何秒数,而我这样做
警报(begTime)


有没有可能因为这个原因,它被认为比《刺激之火》的07:00:00更重要

您正在使用JavaScript并比较时间。使用
Date
对象提供帮助

var begTime = new Date(current.data('bgtime')).getTime(),
    endTime = new Date(current.data('endtime')).getTime();

$('#timeToStart').on('change', function() {
    var startTime = new Date($('#timeToStart').val()).getTime();
    sTimeHire = startTime;
});

$('#timeToEnd').on('change', function() {
    var endTime = new Date($('#timeToEnd').val()).getTime();
    eTimeHire = endTime;
});


if (begTime > sTimeHire || endTime < eTimeHire) {
    alert("yayy it works");
}
var begTime=new Date(current.data('bgtime')).getTime(),
endTime=新日期(current.data('endTime')).getTime();
$('timeToStart')。在('change',function()上{
var startTime=新日期($('#timeToStart').val()).getTime();
sTimeHire=startTime;
});
$('#timeToEnd')。on('change',function(){
var endTime=新日期($('#timeToEnd').val()).getTime();
eTimeHire=结束时间;
});
如果(begTime>sTimeHire | | endTime
未经测试,但这应该有助于您了解情况

Re:我的评论是,这并不是严格意义上的unix时间戳,因为它在
ms
中,而不是
s
,但由于它在任何地方都是相同的,所以同样的想法也适用于整数时间


编辑:根据建议从.now()切换到.getTime()。

将时间转换为unix时间戳,然后比较整数。从那里,您可以转换回所需的任何格式。您从
当前.data('bgTime')
中获得哪些字符串,用户可以输入哪些值
timeToStart
?因为
TimeSpan
是一个.NET结构,它只是表示一个时间量(即5小时、30分钟、32秒),而不是一个特定的时间(即5:30:32 am)。请问您为什么使用
now()
?它被定义为Date对象的静态成员,而不是实例方法。通常,人们会在日期对象上使用
valueOf()
getTime()
来获取自历元以来的毫秒数。感谢您的回答!我得到了这个错误:uncaughttypeerror:(中间值)。now不是一个函数