2015-08-03 3 views
3

Я форматирую дату, не используя ни минуты или любую другую библиотеку, просто чистую JS. И я хочу знать, если есть способ упростить это с ES6Дата форматирования в ES6

let currentDate = new Date(); 

const videosInformation = { 
    time: currentDate.getHours() + ':' + currentDate.getMinutes(), 
    date: (currentDate.getMonth() + 1) + '/' + currentDate.getDate() + '/' + currentDate.getFullYear(), 
    gameId: Math.floor((Math.random() * 5000) + 1) 
}; 

Я видел, что в DOM вы используете что-то вроде renderSomething={`something: ${someObj}`}

так что вам не придется делать renderSomething={"something: " + {someObj}}

есть ли что-то, что я должен использовать для создания такого формата?

+2

Если вы просто говорите о шаблонных литералах: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/template_strings –

ответ

13

В ES2015 ничего нет, что добавило что-то вроде strftime no. Там в ECMAScript интернационализация спецификации ecma-402 которая позволяет локализованное время:

let [date, time] = new Date().toLocaleString('en-US').split(', '); 

const videosInformation = { 
    time, 
    date, 
    gameId: Math.floor((Math.random() * 5000) + 1) 
}; 

который даст вам США локализованный 8/4/2015 и 5:29:19 PM Или, если вы действительно хотите 24-часовые часы:

new Date().toLocaleString('en-US', {hour12: false}) 

Тогда вы можете сделать подстроку на время, если вы хотите вырезать секунды.

Подробнее о дате и времени вы можете узнать по адресу MDT docs.

+4

должно быть 'let [date, time]' – deathangel908

Смежные вопросы