Показать сообщение отдельно
  #18 (permalink)  
Старый 14.07.2022, 18:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от NovichokJS
Мне же нужно в таком формате:
Jan 15 2019 17:19:17
https://learn.javascript.ru/intl
const getNewDate = initValue => {
            const newValue = {
                add(dateInterval, number) {
                    switch (dateInterval) {
                        case 'years':
                            initValue.setFullYear(initValue.getFullYear() + number);
                            break;
                        case 'months':
                            initValue.setMonth(initValue.getMonth() + number);
                            break;
                        case 'days':
                            initValue.setDate(initValue.getDate() + number);
                            break;
                        case 'hours':
                            initValue.setHours(initValue.getHours() + number);
                            break;
                        case 'minutes':
                            initValue.setMinutes(initValue.getMinutes() + number);
                            break;
                        case 'seconds':
                            initValue.setSeconds(initValue.getSeconds() + number);
                            break;
                        case 'milliseconds':
                            initValue.setMilliseconds(initValue.getMilliseconds() + number);
                            break;
                    }
                    return this;
                },

                subtract(dateInterval, number) {
                    switch (dateInterval) {
                        case 'years':
                            initValue.setFullYear(initValue.getFullYear() - number);
                            break;
                        case 'months':
                            initValue.setMonth(initValue.getMonth() - number);
                            break;
                        case 'days':
                            initValue.setDate(initValue.getDate() - number);
                            break;
                        case 'hours':
                            initValue.setHours(initValue.getHours() - number);
                            break;
                        case 'minutes':
                            initValue.setMinutes(initValue.getMinutes() - number);
                            break;
                        case 'seconds':
                            initValue.setSeconds(initValue.getSeconds() - number);
                            break;
                        case 'milliseconds':
                            initValue.setMilliseconds(initValue.getMilliseconds() - number);
                            break;
                    }
                    return this;
                },


                result() {
                    let formatter = new Intl.DateTimeFormat("en", {
                        month: "short",
                        year: 'numeric',
                        day: '2-digit',
                        hour: '2-digit',
                        minute: '2-digit',
                        second: '2-digit',
                        hour12: false
                    });

                    return formatter.format(initValue);
                },
            };
            return newValue;
        };

        const res = getNewDate(new Date(2020, 0, 7, 17, 17, 17))
            .add('minutes', 2)
            .add('days', 8)
            .subtract('years', 1)
            .result();
        // Output: ...Jan 15 2019 17:19:17.....

        console.log(res);
Ответить с цитированием