如何设置javascript日期对象的时间



我有两个小部件。一个日历和一个时间小工具。

我的日历是DateTime对象Wed Apr 29 2020 00:00:00 GMT-0400,我的时间输出此结果1:00 AM

我想将两者结合起来,创建一个新的DateTime对象。我可以问一下我该怎么做吗?

我试过了,但根本没用。

startDate.setTime(vm.startTime)

您需要迭代Objectentries并获得values,以便通过数组将它们组合在一起。

mergeDateTime() {
const DateTime = {
a: "Wed Apr 29 2020 00:00:00 GMT-0400",
b: "1:00 AM",
};
const mergedDateTime = [];
for (let [key, value] of Object.entries(DateTime)) {
mergedDateTime.push(value);
}
return mergedDateTime;
}

我不确定,但我认为你想要这个。我希望我对有所帮助

var startDate = { Date :"Wed Apr 29 2020 00:00:00 GMT-0400" };
var startTime  = { Time :"1:00 AM" };

var DateTime  = Object.assign(startDate, startTime);
console.log(DateTime);
// { Date: 'Wed Apr 29 2020 00:00:00 GMT-0400', Time: '1:00 AM' }

编辑:

var startDate = { Date :"Wed Apr 29 2020 00:00:00 GMT-0400" };
var startTime  = { Time :"1:00 AM" };
var DateTime = { DateAndTime: startDate.Date + " " + startTime.Time};
console.log(DateTime);
//{ DateAndTime: 'Wed Apr 29 2020 00:00:00 GMT-0400 1:00 AM' }

尝试拆分时间字符串并设置日期对象的Hours值。

var startDate = "Wed Apr 29 2020 00:00:00 GMT-0400";
var startTime = "1:00 AM";
var result = new Date(startDate);
var hour = parseInt(startTime.split(":")[0]);
var minute = parseInt(startTime.split(":")[1].split(" ")[0]);
var amPmOffset = startTime.split(" ")[1] == "AM" ? 0 : 12;
result.setHours(hour, minute + amPmOffset, 0);
console.log(result.toString());

最新更新