Moment set date but keep time

Viewed 29

I have two time objects that looks like:

const dateA = '2021-02-19T07:15:00.000Z';
const dateB = '2021-02-21T06:30:00.000Z';

Now I want to concatenate the two using moment in order to end up with day, month, year from dateA but minutes/seconds from dateB

1 Answers

You can do that just by the hour/minute/second get/set method. Assume that you also want to set hour from dateB

const dateA = "2021-02-19T07:15:00.000Z";
const dateB = "2021-02-21T06:30:00.000Z";

const mDateA = moment(dateA);
const mDateB = moment(dateB);

const res = mDateA
  .clone()
  .hour(mDateB.hour())
  .minute(mDateB.minute())
  .second(mDateB.second());

console.log(res.toISOString());
<script src="https://momentjs.com/downloads/moment.min.js"></script>

Related