Конвертировать даты, используя момент js

У меня есть объект даты

const resDate = {startDate: "Fri Apr 21 2023 00:00:00 GMT+0530 (India Standard Time)", endDate: "Tue Apr 25 2023 00:00:00 GMT+0530 (India Standard Time)"}

моя цель - получить startDate и endDate в формате, подобном const

const resDate = {startDate:2022-09-01T00:00:00+05:30,endDate: 2022-09-01T00:00:00+05:30}

и т. д. значения не имеют смысла в этом примере формат преобразования имеет значение. Я использовал момент js для выполнения этой задачи и создал для этого функцию

const getDate=()=>{
let effTime = moment(startDate).format('YYYY-MM-DD');
      let istTime= effTime + "T00:00:00+05:30";
return isTime;
}

но это не кажется правильным подходом, так как я жестко кодирую что-то в функции. Есть ли правильный способ сделать это?

Этот «объект даты» является недопустимым JavaScript. Вы забыли цитаты?

trincot 10.04.2023 20:26

никогда не видел эту ошибку спасибо

bugsmasher 10.04.2023 20:33

Та же проблема с желаемым результатом: это недействительный JavaScript.

trincot 10.04.2023 21:20
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
3
3
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Во-первых, новые разработки с momentjs не приветствуются. Вы могли бы сделать это без моментов:

function formatDate(date) {
    const [, mmm, d, y, h, m, s, _, zh, zm] = date.match(/[+-]\d\d|\w+/g);
    const M = "JanFebMarAprMayJunJulAugSepOctNovDec".indexOf(mmm) / 3;
    return new Date(Date.UTC(y, M, d, h, m, s)).toJSON().slice(0, 19) + zh+":"+zm;
}

// Example
const startDate = "Fri Apr 21 2023 00:00:00 GMT+0530 (India Standard Time)";
const result = formatDate(startDate);
console.info(result);

Другие вопросы по теме