为什么日期比较javascript函数不起作用?

为什么日期比较javascript函数不起作用?,javascript,Javascript,我试图使签入、签出日期有效,但是当CheckIn===CheckOut为false而不是true时。你们怎么看,两者都是对象,都是相等的 功能逆变器数据(日期){ 试一试{ const regex='^([0-9]{2})([0-9]{2})([0-9]{4})'; const dataFormatada=date.match(regex); 返回`${dataFormatada[2]}/${dataFormatada[1]}/${dataFormatada[3]}`; }捕获(错误){ re

我试图使签入、签出日期有效,但是当
CheckIn===CheckOut
为false而不是true时。你们怎么看,两者都是对象,都是相等的

功能逆变器数据(日期){
试一试{
const regex='^([0-9]{2})([0-9]{2})([0-9]{4})';
const dataFormatada=date.match(regex);
返回`${dataFormatada[2]}/${dataFormatada[1]}/${dataFormatada[3]}`;
}捕获(错误){
return[{mensage:'日期无效!'}];
}
}
函数isValidDate(d){
返回日期为&&!isNaN(d)的d实例;
}
功能validacao(签入、签出){
//检查条目是否为空、未定义或为空
如果(!checkin | |!checkout)返回[{mensage:'填写checkin和/或checkout.}];
//仅允许字符串类型
if(typeof(checkin)==“string”&&typeof(checkout)==“string”){
让checkIn=新日期(invertrData(checkIn));
let checkOut=新日期(InvertrData(checkOut));
console.log(typeof(checkIn)、typeof(checkOut));
console.log(签入、签出);
console.log(签入===签出);
//日期无效
如果(!isValidDate(签入)| |!isValidDate(签出))返回[{mensage:'日期无效'}];
//签入不能等于签出
if(checkIn==checkOut)返回[{mensage:'checkIn不能等于checkOut'}];
//签出可以小于签入
if(checkOutconsole.log(validacao('11022021','11022021')无法使用
=
比较javascript中的对象

例如,如果要检查日期,应首先将其转换为字符串

请检查-此线程以了解更多详细信息


您无法使用
=
比较javascript中的对象

例如,如果要检查日期,应首先将其转换为字符串

请检查-此线程以了解更多详细信息


为什么要将日期作为字符串进行比较,而不是使用moment.js?这样做容易得多,并且可以让您更好地控制此类操作


此外,您还可以将日期转换为时间戳,并检查两者是否在同一天内。

为什么要将日期作为字符串进行比较,而不是使用moment.js?这样做容易得多,并且可以让您更好地控制此类操作


此外,您还可以将日期转换为时间戳,并检查两者是否在同一天内。

切勿编写自己的日期比较。使用经过良好测试的datetime库(适用于JS),永远不要依赖自己的代码来做正确的事情:它做不到。Datetime Mathematics有数百万个边缘案例,你不知道它们的全部(通常,甚至只是“一些”)。它们都是相等的,或者它们的内容是?@peprumo是的,如果你运行这段代码,我用console.log显示结果永远不要编写自己的日期比较。使用经过良好测试的datetime库(适用于JS),永远不要依赖自己的代码来做正确的事情:它做不到。Datetime Mathematics有数以百万计的边缘案例,你不知道它们的全部(通常,甚至只是“一些”)。它们都是相等的,或者它们的内容是相等的?@peprumo是的,如果你运行这段代码,我会用console.log显示结果。我想用
moment.js
但是这个项目是如何用于面试的,我正在避免使用一些库。然后试着解析日期字符串,并按字符(“/”或“-”)将其拆分,然后分别比较每个值,天与天,月与月,年与年。通过使用
getTime()
works,我感谢您的帮助Mazen:)我想使用
moment.js
但该项目如何用于面试,我正在避免使用一些库。然后尝试解析日期字符串,并按您拥有的字符(“/”或“-”)将其拆分,并分别比较其每个值,日与日、月与月、年与年。通过使用
getTime()
works,我感谢您的帮助Mazen:)嗯,很好地使用
getTime()
函数。。Thankshmm,非常有用
getTime()
函数运行良好。。谢谢