【问题标题】:How to merge Date and Time using Javascript如何使用 Javascript 合并日期和时间
【发布时间】:2021-10-14 02:08:25
【问题描述】:

我是 JavaScript 新手,不太了解。我知道已经有很多类似的问题可用,但我没有得到我想要的东西。 我有 2 个输入,一个是 datePicker,另一个是 timePicker。

<form>
<div class="form-group">
<label for="a">Date :</label>
<input class="form-control" ng-model="res.Date" ng-required="true" type="date" >
</div>
<div class="form-group">
<label for="a">Time :</label>
<input class="form-control timepicker" ng-model="res.Time" ng-required="true" 
type="time">
</div>
</form>

我以不同的格式分别获取日期和时间 - 我已将日期转换为 yyyy/mm/dd 格式,还格式化了时间 使用下面的代码 -

 var timeString = $scope.res.Time.getHours() + ':' + $scope.res.Time.getMinutes() + ':00';
 var d = new Date($scope.res.Date),
 month = '' + (d.getMonth() + 1),
 day = '' + d.getDate(),
 year = d.getFullYear();
 if (month.length < 2)
 month = '0' + month;
 if (day.length < 2)
 day = '0' + day;
 var fdate = [year, month, day].join('-')

我正在获取日期和时间,例如 -

Time = 20:42:00
Date = 2021-08-11

但现在我想加入他们,想要变成这样 = 2021-08-10T01:01:55.216Z

我尝试了一些诸如解析之类的东西,但这并没有给我这种格式。对错误感到抱歉。 请帮助我得到这个。谢谢

【问题讨论】:

  • 如果你有正确的时间和日期变量...${Date}T${Time}Z - 你可能想在Z之前添加.000
  • 学习如何自己操作日期很好。但是处理日期是一件复杂的事情,并且有一些优秀的库可以让你免于重新发明轮子的痛苦。最著名的是Moment 及其继任者Luxon
  • @JeremyThille 谢谢先生,我之前不知道,我会尝试使用 MomentThanks。

标签: javascript html jquery angularjs


【解决方案1】:

let time = "20:42:00";
let date = new Date("2021-08-11");

let parsedDate = new Date(Date.parse(date.toDateString() + ' ' + time));

console.log(parsedDate.toISOString());

【讨论】:

  • 感谢您的帮助,但先生,我得到的输出是“2021 年 8 月 16 日星期一 07:15:00 GMT-0700(太平洋夏令时间)”而不是“2021-08-10T01:01: 55.216Z" 这是因为您将日期和时间作为字符串传递?
  • 我更新了您的输入是否为日期类型的答案
猜你喜欢
  • 1970-01-01
  • 2015-12-23
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
  • 2020-12-08
  • 2016-03-01
  • 2016-08-22
相关资源
最近更新 更多