Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Дата в javascript.

С базы данных приходит дата в таком виде: "2024-01-06T11:51:37.000Z", как переделать ее в адекватный для пользователя вид? Например: "06.01.2024".

По дате
По рейтингу
Аватар пользователя
Мудрец

Попробуй использовать библиотеку Moment.js.


1234
 const moment = require('moment');

const date = moment('2024-01-06T11:51:37.000Z').format('DD.MM.YYYY');
console.log(date); // Вывод 06.01.2024 
Аватар пользователя
12345678910111213141516171819202122232425
 // Данные пришедшие с сервера 
    let data = `{ 
       "name": "David", 
       "age": 24, 
       "date": "2024-01-06T11:51:37.000Z" 
    }`;  
 
    // Преобразуем JSON в объект 
    let dataObj = JSON.parse(data, function(key, value){ 
        if (key == 'date') { 
            return new Date(value);  
        } else { 
            return value; 
        } 
    }); 
 
    // сохраняем дату в переменную  
    let date = dataObj.date; 
 
    // Выводим дату в удобочитаемом виде 
    document.write(date.toLocaleString("ru", { 
        year: "numeric", 
        month: "2-digit", 
        day: "2-digit", 
    })); 

Данные с сервера приходят в виде строки JSON, прежде чем выполнять манипуляции с этими данными, необходимо преобразовать JSON в реальный объект.

Чтобы преобразовать JSON в объект для этого есть JSON.parse, первым аргументом передается данные JSON, второй аргумент может быть функцией, которая может пригодится для замены некоторых значений, например выше функция замены используется чтобы преобразовать дату из строки в объект Date.

С датами в JS лучше работать если они преобразованы в объект Date, это позволяет получать любые компоненты даты и изменять их.

Аватар пользователя
Просветленный
12345
 const date = '2024-01-06T11:51:37.000Z'; 
 
console.log(`${date.slice(7, 10)}.${date.slice(5, 7)}.${date.slice(0, 5)}`);

// 06.01.2024 

Вообще для этого в npm куча либ есть, data-fns например с множеством вариантов представления даты