javascript - получить формат даты как в php? - PullRequest
1 голос
/ 29 сентября 2019
<?php echo date('d M Y'); ?>

Результат: 29 Sep 2019

Так просто, так элегантно!

Кажется, в javascript подобного метода не существует?

Моя попытка:

let d = new Date();

console.log(d.getDate() + ' ' + (d.getMonth()+1) + ' ' + d.getFullYear()); 

Результат: 29 9 2019

Но мне нужно короткое название месяца вместо целого.

И да, я виделмножество решений с использованием библиотеки или , создающих массив имен месяцев , но мне интересно - есть ли какой-нибудь нативный и основной способ javascript?

Ответы [ 4 ]

1 голос
/ 29 сентября 2019

Там нет встроенного пути.

Вы должны вручную реализовать такую ​​функцию, если вы не хотите использовать библиотеку:

const months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
const d=new Date()

console.log(`${d.getDate()} ${months[d.getMonth()]} ${d.getFullYear()}`);
//29 Sep 2019

Или попробуйте использовать .toLocaleString(), но его возвращаемое значение является реализацией-зависимый.

1 голос
/ 29 сентября 2019

Вы можете использовать toLocaleDateString ()

const date = new Date();
const formattedDate = date.toLocaleDateString('en-GB', {
  day: 'numeric', month: 'short', year: 'numeric'
}).replace(/ /g, '-');
console.log(formattedDate);
1 голос
/ 29 сентября 2019

Возможно, вы ищете toLocaleDateString

var options = { year: 'numeric', month: 'short', day: 'numeric' };

let date = new Date()

console.log(date.toLocaleDateString('en-US',options))
0 голосов
/ 29 сентября 2019

Для этого вы можете использовать библиотеку moment.js.

https://momentjs.com/docs/#/displaying/

moment().format("D MMM YYYY")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...