Возврат даты в русском формате

158
24 февраля 2018, 23:35

Здравствуйте, мне дана строка и надо было написать функцию, которая принимает эту строку, и возвращает её в русском формате. У меня такой код, но не пойму в чём ошибка?

let date = new Date("29, 03, 1985"); 
function getZero(num){ 
	if (num > 0 && num < 10) {  
		return '0' + num; 
	} else { 
		return num; 
	} 
} 
 
console.log(getZero(date.getDate()) + '.' + getZero(date.getMonth() + 1) + '.' + date.getFullYear());

Answer 1

Доброе утро.

  var options = { 
  year: 'numeric', 
  month: 'numeric', 
  day: 'numeric', 
  timezone: 'UTC' 
}; 
console.log(new Date().toLocaleString("ru", options));
Или замените month: 'numeric' на month: 'long', и получите название месяца строкой.

Подробней о toLocaleString()

Answer 2

Вы пытаетесь создать дату из строки, но формат строки выбран не верно. Что бы создать дату из строки строка должна соответсnвовать стандартным правилам Date.parse.

let date = new Date("1980.11.20"); 
function getZero(num){ 
	if (num > 0 && num < 10) {  
		return '0' + num; 
	} else { 
		return num; 
	} 
} 
 
console.log(getZero(date.getDate()) + '.' + getZero(date.getMonth() + 1) + '.' + date.getFullYear());

Читаем тут - Date.

В вашем случае сначала подготавливаем данные.

let str = "29, 03, 1985"; 
let dataTokens = str.split(","); 
 
let date = new Date(+dataTokens[2], +dataTokens[1] - 1, +dataTokens[0]); 
 
function getZero(num) { 
  if (num > 0 && num < 10) { 
    return '0' + num; 
  } else { 
    return num; 
  } 
} 
 
console.log(getZero(date.getDate()) + '.' + getZero(date.getMonth() + 1) + '.' + date.getFullYear());

READ ALSO
Сколько прошло недель с начала года?

Сколько прошло недель с начала года?

Как узнать, сколько прошло недель с начала года ? У меня пока такой код:

146
Стилизация объектов через JavaScript

Стилизация объектов через JavaScript

Хочу сделать так, чтобы при нажатии на кнопку увеличивался шрифт текстаПример: Вопрос: почему не применяется стилизация к тексту? Сам...

237