используя момент. js для установки даты и времени из двух переменных - PullRequest
0 голосов
/ 07 января 2020

У меня есть объект, transaction, который имеет 2 свойства DateTime - один содержит Date, а другой содержит Time.

Другими словами, Date может быть De c 23, 2019 в 00:00:00, и время может быть примерно таким, как 1 января 1970 года в 07: 36

Я ищу лучший способ объединить дату первого со временем второго. У меня так, но мне не очень нравится:

var transaction = {
    Date: new Date('2019-12-24T00:00:00.000Z'),
    Time: new Date('1754-01-01T07:36:17.647Z')
}

const date = new Date(transaction.Date);
date.setHours(transaction.Time.getHours(), transaction.Time.getMinutes(), transaction.Time.getSeconds(), transaction.Time.getMilliseconds());
console.log(date);

Мне просто интересно, есть ли у Момента. JS какие-нибудь средства, чтобы сделать это для меня более приятным.

1 Ответ

1 голос
/ 07 января 2020

Не уверен, что есть такие возможности. Можно только предложить следующее «упрощение»:

var transaction = {
    Date: new Date('2019-12-24T00:00:00.000Z'),
    Time: new Date('1754-01-01T07:36:17.647Z')
}

const date = moment(transaction.Date).add(moment.duration(moment(transaction.Time).format("hh:mm:ss")));
console.log(date);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
...