ES6中的格式化日期

Non*_*Non 6 javascript date ecmascript-6

我正在格式化一个日期,没有momentjs或任何其他库,只是纯JS.我想知道是否有办法用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)
};
Run Code Online (Sandbox Code Playgroud)

我在DOM中看到你使用类似的东西 renderSomething={`something: ${someObj}`}

所以你不必这样做 renderSomething={"something: " + {someObj}}

有什么我应该用来做那种格式?

Kit*_*nde 19

在ES2015中strftime没有任何东西可以添加类似的东西.有一个ECMAScript国际化规范ecma-402,它可以实现本地化时间:

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

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

哪个会给你美国本地化2015年8月4日5:29:19 PM或者如果你真的想要24小时制:

new Date().toLocaleString('en-US', {hour12: false})
Run Code Online (Sandbox Code Playgroud)

然后,如果要删除秒数,则可以在时间上执行子字符串.

您可以在MDT文档中阅读有关日期和时间的更多信息.

  • 应该是'让[日期,时间]` (6认同)