Как реализовать функции добавления и уменьшения времени?
var time = date('2018-02-02 12:45')
.add(16, 'hours')
.subtract(2, 'months')
.add(4, 'days')
.add(45, 'minutes');
Ход моих мыслей: я получаю на вход дату, далее я ее обрабатываю и получаю переменные( день, месяц, год, часы, минуты, секунды).
Далее мне необходимо вызвать функцию add, которая будет принимать два параметра( число перевода времени, тип перевода), в функции я устанавливаю новую дату и возвращаю полученный результат. Каким образом реализовать структуру вызова методов добавления и уменьшения времени? Возможно, что кто-то может объяснить, используя Object.defineProperty, Object.getOwnPropertyDescriptor для работы с объектами?