frilanser
@frilanser

Формирование Даты?

Как можно проще убрать 0 из месяца ( т.е - 01 ):
<div class="cDate dataThis">2023-01-12T07:00:03Z</div>


Собрал js:
$('.dataThis').each(function() {
format = $(this).html(); 
data = format.split('T')[0].split('-'); 
dataMonth = ['Января','Февраля','Марта','Апреля','Мая','Июня','Июля','Августа','Сентября','Октября','Ноября','Декабря'];
time = format.split('T')[1].split(':'); 
$(this).html(data[2]+' '+dataMonth[data[1]]+' в '+time[0]+':'+time[1]); 
$(this).removeClass('dataThis'); 
});
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 3
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно использовать стандартные средства браузера:
  • объект Date(), который прекрасно переварит строку в стандартном формате "2023-01-12T07:00:03Z"
  • и Intl.DateTimeFormat() для форматирования даты
const formatter = new Intl.DateTimeFormat('ru-RU', {
  dateStyle: 'long',
  timeStyle: 'short',
});
const date = new Date('2023-01-12T07:00:03Z');

formatter.format(date)
// "12 января 2023 г., 10:00"
в то время как в Лондоне 7 утра, в Москве 10:00 (в часовом поясе браузера)
Ответ написан
Комментировать
@formasters777
например:
parseInt( dataMonth[data[1]] )
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
console.log(
  new Date('2023-01-12T07:00:03Z')
    .toLocaleString('ru-RU', { day: 'numeric', month: 'long', hour: '2-digit', minute: '2-digit'})
);
// 12 января, 10:00
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы