Javascript 仅在2周内启用日期格式html
仅在2周内启用数据格式时出现问题。例如,我只想在今天和14天之前展示。现在我的代码可以在几天前锁定 情景: 如果今天是2021年2月3日,我希望启用日期为2021年1月20日至2021年2月3日。其他日期将被禁用Javascript 仅在2周内启用日期格式html,javascript,date,Javascript,Date,仅在2周内启用数据格式时出现问题。例如,我只想在今天和14天之前展示。现在我的代码可以在几天前锁定 情景: 如果今天是2021年2月3日,我希望启用日期为2021年1月20日至2021年2月3日。其他日期将被禁用 var today=new Date().toISOString().split('T')[0]; document.getElementsByName(“事故”)[0].setAttribute('min',今天) 您正在寻找的解决方案是这样的 consttwoweeksago=
var today=new Date().toISOString().split('T')[0];
document.getElementsByName(“事故”)[0].setAttribute('min',今天)代码>
您正在寻找的解决方案是这样的
consttwoweeksago=14*24*60*60*1000;
让dateElement=document.querySelector(“#意外”);
dateElement.min=新日期(Date.now()-twoWeeksAgo).toISOString().split('T')[0];
dateElement.max=new Date().toISOString().split('T')[0]代码>
您正在寻找的解决方案是这样的
consttwoweeksago=14*24*60*60*1000;
让dateElement=document.querySelector(“#意外”);
dateElement.min=新日期(Date.now()-twoWeeksAgo).toISOString().split('T')[0];
dateElement.max=new Date().toISOString().split('T')[0]代码>
根据。您需要设置最小值和最大值来指定间隔
//获取日期对象
const today=新日期();
const twoWeeksAgo=新日期();
setDate(today.getDate()-14);
//然后输入设置
const input=document.querySelector(“[name=incident]”);
input.setAttribute('min',twoWeeksAgo.toISOString().slice(0,10));
input.setAttribute('max',today.toISOString().slice(0,10))代码>
根据。您需要设置最小值和最大值来指定间隔
//获取日期对象
const today=新日期();
const twoWeeksAgo=新日期();
setDate(today.getDate()-14);
//然后输入设置
const input=document.querySelector(“[name=incident]”);
input.setAttribute('min',twoWeeksAgo.toISOString().slice(0,10));
input.setAttribute('max',today.toISOString().slice(0,10))代码>
您只设置了min
,但没有设置max
由于这种关系,它只知道您的最短日期,而不知道您的最长日期,因此之前的结果是正常的,只要您进行设置,它就会工作
有关详情,请参阅
const getDateStr=(d)=>d.toISOString().split('T')[0];
const daysRange=(天)=>{
const d=新日期();
const when=新日期(d.setDate(d.getDate()+天));
返回[new Date(),when].map(m=>getDateStr(m));
};
常数限值=日范围(-14);
const picker=document.getElementsByName(“意外”)[0];
setAttribute('min',limit[1]);
picker.setAttribute('max',limit[0]);
picker.setAttribute('value',limit[0])代码>
标签{
显示:块;
字体:1rem'Fira Sans',Sans serif;
}
输入,
标签{
保证金:.4REM0;
}
日期:
您只设置了min
,但没有设置max
由于这种关系,它只知道您的最短日期,而不知道您的最长日期,因此之前的结果是正常的,只要您进行设置,它就会工作
有关详情,请参阅
const getDateStr=(d)=>d.toISOString().split('T')[0];
const daysRange=(天)=>{
const d=新日期();
const when=新日期(d.setDate(d.getDate()+天));
返回[new Date(),when].map(m=>getDateStr(m));
};
常数限值=日范围(-14);
const picker=document.getElementsByName(“意外”)[0];
setAttribute('min',limit[1]);
picker.setAttribute('max',limit[0]);
picker.setAttribute('value',limit[0])代码>
标签{
显示:块;
字体:1rem'Fira Sans',Sans serif;
}
输入,
标签{
保证金:.4REM0;
}
日期:
您获取今天的方法将返回UTC日期,而不是当前本地日期,因此对于偏移量为-ve的用户,明天将返回UTC日期;对于偏移量为+ve的用户,从午夜开始的本地偏移量将返回昨天。获取今天的方法将返回UTC日期,不是当前本地日期,因此对于具有-ve偏移量的用户,明天将是,对于从午夜开始的本地偏移量期间具有+ve偏移量的用户,昨天将是。调整时间值以增加或减少天数是有缺陷的,请参阅。至于OP,使用toISOString返回UTC日期,因此可能会根据系统设置和运行时间返回昨天、今天或明天。调整时间值以增加或减少天数是有缺陷的,请参阅。至于OP,使用toISOString返回UTC日期,因此可能返回昨天、今天或明天,具体取决于系统设置和运行时间。