Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.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 从HTML周选择器中提取日期_Javascript_Html - Fatal编程技术网

Javascript 从HTML周选择器中提取日期

Javascript 从HTML周选择器中提取日期,javascript,html,Javascript,Html,是否可以获取html周选取器所选周的天数/日期(在vanilla JS中)。比如说 <input type="week" name="week" id="copyWeekInput"> 奇怪的是,它们出现在UI中,但我在input week的对象中找不到它们 谢谢 因为只是一周的输入,所以它不会返回日期范围。但是,您可以自己解析它并找到列表 let button=document.querySelector(“#按钮”); button.onclick=()=>{ let wee

是否可以获取html周选取器所选周的天数/日期(在vanilla JS中)。比如说

<input type="week" name="week" id="copyWeekInput">
奇怪的是,它们出现在UI中,但我在input week的对象中找不到它们

谢谢

因为
只是一周的输入,所以它不会返回日期范围。但是,您可以自己解析它并找到列表

let button=document.querySelector(“#按钮”);
button.onclick=()=>{
let week=document.querySelector(“#week”);
let dates=parseDates(week.value);
控制台日志(日期);
}
让parseDates=(inp)=>{
设年份=parseInt(inp.slice(0,4),10);
让week=parseInt(inp.slice(6),10);
设天=(1+(第1周)*7);//1月1日+每周7天
let dayOffset=新日期(年,0,1).getDay();//我们需要知道一年从一周的哪一天开始
dayOffset--;//根据您希望一周从哪一天开始递增或递减此值。这将使一周从星期一开始
让天数=[];
for(让i=0;i<7;i++)//这样做7次,每天一次
push(新日期(年,0,天-dayOffset+i));//向数组中添加一个新的日期对象,相对于一周的第一天,偏移量为i天
返程天数;
}


的目的是为您提供一周的时间,而不是日期列表。哦,太好了。我的版本要复杂得多。这其中的哪一部分决定了一周的开始,比如说,我注意到这是我的前一天,如果我选择这一周的话。但去年的情况是正确的。也许这是闰年的问题?@LeonForte我会补充一些评论来解释it@LeonForte我的错,它假设所有的年份都从周一开始嘿,谢谢。这太完美了:)当我在本地进行测试时,它工作得很好,但由于某种原因,当我单击此处的“运行代码片段”时,它是错误的(可能在他们的服务器上运行它,他们强制星期天作为一周的开始)。另外,当我运行
.toISOString().slice(0,10)
时,结果会减去一天:D。不过不用担心,我可以手动将结果转换为YYYY-MM-DD格式。
document.querySelector("#copyWeekInput")... // for week 18, return something like ["2020-04-27", "2020-04-28", "2020-04-29", "2020-04-30", "2020-05-01", "2020-05-02", "2020-05-03"]