Javascript 比较并匹配日期
我面临javascript日期的问题。我想比较Javascript 比较并匹配日期,javascript,reactjs,date,datetime,match,Javascript,Reactjs,Date,Datetime,Match,我面临javascript日期的问题。我想比较start date和end dateJSON数据,并显示在特定的插槽newprevious、newcurrent、newfirstdate和newseconddate 反应成分 我试过了,但我的状况不好 <div class="row"> {this.state.data && this.state.data.length ? // this.state.dat
start date和end date
JSON数据,并显示在特定的插槽newprevious、newcurrent、newfirstdate和newseconddate
反应成分
我试过了,但我的状况不好
<div class="row">
{this.state.data && this.state.data.length
? // this.state.data[index].start_date.toString() > this.state.newprevious
// this.state.data[index].start_date.toString() > this.state.newcurrent
// this.state.data[index].start_date.toString() > this.state.newfirstdate
// this.state.data[index].start_date.toString() > this.state.newseconddate
this.state.data.map(
({ cust_full_name, full_name, start_date }, index) => (
<div class="row" key={index}>
slot: {index + 1}
<p>{start_date}</p>
<p>{cust_full_name}</p>
</div>
{this.state.data&&this.state.data.length
?//this.state.data[index].start\u date.toString()>this.state.newprevious
//this.state.data[index].start\u date.toString()>this.state.newcurrent
//this.state.data[index].start\u date.toString()>this.state.newfirstdate
//this.state.data[index].start\u date.toString()>this.state.newsecondate
这个是.state.data.map(
({cust_full_name,full_name,start_date},index)=>(
插槽:{index+1}
{开始日期}
{客户全名}
我的工作演示:
我的代码输出:
只需匹配开始日期和结束日期
JSON数据,并显示在特定的上一个、当前、第一个和第二个日期
插槽中
预期产出:
我该怎么办?请帮帮我?我已经使用JS库中的
new Date()
适应了您的解决方案。您可以查看。假设
此.state.data中的日期格式正确
解决方案
只需将两个日期括在Date()中,就可以比较JavaScript中的两个日期
您可以使用
Array.filter
删除所有未通过检查的项,并仅渲染那些通过检查的项
此外,如果要比较日期,应执行以下操作:
const prev=“2020-05-11 01:45:50”;
const second=“2020-05-11 03:15:50”;
//阅读为什么需要规范化
// https://stackoverflow.com/a/45152231
常量规格化=(值)=>{
返回值。替换(//g,“T”)+“Z”
}
//不包括'min'和'max'`
const isBetween=(日期)=>{
const min=新日期(正常化(上一个))
const max=新日期(正常化(秒))
const dateToCompare=新日期(标准化(日期))
返回min 控制台日志(“2020-05-11 02:45:00”,介于(“2020-05-11 02:45:00”)之间)
好的,我试试你的代码,谢谢你的一个问题?@MHasan是的,我应该如何比较上一个、当前的、第一个和第二个日期
与开始和结束日期
的比较。我已经更新了沙盒代码
你可以检查“好的,我试试你的代码,谢谢你的另一个问题?答案应该解释为什么OP有这样的问题r问题以及您的代码如何修复它。您应该在此处发布代码,而不是其他地方。这是一个react代码,我想展示最终结果是什么。我提出了一个解决方案。OP没有问题,他不知道如何继续。请注意建议将字符串转换为日期的答案。“2020-05-11 01:45:50”不是ECMA-262支持的格式,因此解析依赖于实现,至少有一个当前浏览器会将其解析为无效日期。请参阅
var date1, date2;
date1 = new Date("put ur date here to compare");
date2 = new Date("Dec 15, 2014 21:20:15" );
if (date1 > date2) {
alert("Date1 is the recent date.");
}
else {
alert("Date 2 is the recent date.");
}