我有两个小部件。一个日历和一个时间小工具。
我的日历是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());