Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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日期格式_Javascript_Html_Date_Datetime - Fatal编程技术网

将日期和时间转换为JavaScript日期格式

将日期和时间转换为JavaScript日期格式,javascript,html,date,datetime,Javascript,Html,Date,Datetime,我试图通过HTML表单从用户那里获取日期和时间来安排任务 HTML: 现在我想把这个日期和时间转换成一个JavaScript日期对象。我希望得到如下字符串的输出,以及用户给定的相应日期和时间 Sat Dec 19 2020 11:31:21 GMT+0530 (India Standard Time) 有人能帮我渡过难关吗?提前感谢试试这个: let btn=document.getElementById('btn'); btn.addEventListener('单击',()=>{ 让ye

我试图通过HTML表单从用户那里获取日期和时间来安排任务

HTML:

现在我想把这个日期和时间转换成一个JavaScript日期对象。我希望得到如下字符串的输出,以及用户给定的相应日期和时间

Sat Dec 19 2020 11:31:21 GMT+0530 (India Standard Time)
有人能帮我渡过难关吗?提前感谢

试试这个:

let btn=document.getElementById('btn');
btn.addEventListener('单击',()=>{
让year=document.getElementById('year').value;
let month=document.getElementById('month').value;
let day=document.getElementById('day').value;
让hours=document.getElementById('hours').value;
让minutes=document.getElementById('minutes').value;
设seconds=document.getElementById('seconds').value;
让结果=新日期(年、月、日、时、分、秒、0);
控制台日志(结果);
返回结果;
})


Get Date
输入获取数据
标记触发器可能会有所帮助<代码>输入的数据在脚本上定义为
。因此,下面使用onclick事件:

let button1=document.getElementById('test');
let date=document.getElementById('date');
让time=document.getElementById('time');
函数测试函数(e){
console.log(date.value、time.value)
}

这是一个多问题的问题

并非所有正在使用的浏览器都支持输入类型日期,因此这些情况下需要一个回退选项。如果支持日期输入,则以yyyy-mm-dd格式的字符串形式返回值。默认情况下,它被解析为UTC,但是大多数人希望它被视为本地的,因此也需要处理它

时间输入的值以hh:mm:ss格式返回,因此还需要将其解析为某种可用形式

简单的答案是,只需将日期和时间值与“T”(生成yyy-mm-ddThh:mm:ss格式)连接起来,并将其留给内置解析器,因为它应该被解析为本地的,但可能不是(请参阅)

一个更健壮的解决方案是分别解析日期和时间,然后组合这些值。您可以使用库,但简单的函数只有几行

下面演示了这两种方法,希望注释足够了

//将yyyy-mm-dd解析为本地
函数parseISOLocal(s){
设[y,m,d]=s.split(/\d/);
返回新日期(y、m-1、d);
}
//将hh:mm:ss解析为ms
函数解析时间(t){
设[h,m,s]=t.split(/\D/);
返回h*3.6e6+m*6e4+s*1e3;
}
//从组合的日期和时间输入创建日期
函数getDate(){
//获取日期字符串,解析为本地
设d=parseIsLocal(document.getElementById('date').value);
//获取时间,转换为毫秒
设t=parseTime(document.getElementById('time').value);
//将时间添加到日期
d、 设置毫秒(d.getmillizes()+t);
//调试
log(d.toString());
//返回日期
返回d;
}
//通过连接日期和时间以及
//使用内置解析器
函数getDate2(){
//获取日期字符串
设d=document.getElementById('date').value;
//获取时间字符串
设t=document.getElementById('time').value;
//调试
log(新日期(d+'T'+T.toString());
//与T连接并使用内置解析器
返回新日期(d+T+T);
}


获取日期手动解析
Get date内置解析功能
检查您可能从如何使用开始,上面有。然后,您可以查看如何使用扩展。请注意,并非所有正在使用的浏览器都支持日期或时间输入。月份为零索引。OP使用输入类型日期和时间。
let date=document.getElementById('date')
let time=document.getElementById('time')
Sat Dec 19 2020 11:31:21 GMT+0530 (India Standard Time)