Javascript 将日期更改为 (dd/mm/yyyy) 格式

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/13459866/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-24 12:09:07  来源:igfitidea点击:

Javascript change date into format of (dd/mm/yyyy)

javascript

提问by user1451890

How can I convert the following date format below (Mon Nov 19 13:29:40 2012)

如何转换以下日期格式(2012 年 11 月 19 日星期一 13:29:40)

into:

进入:

dd/mm/yyyy

日/月/年

<html>
    <head>
    <script type="text/javascript">
      function test(){
         var d = Date()
         alert(d)
      }
    </script>
    </head>

<body>
    <input onclick="test()" type="button" value="test" name="test">
</body>
</html>

回答by maerics

Some JavaScript engines can parse that format directly, which makes the task pretty easy:

一些 JavaScript 引擎可以直接解析该格式,这使任务变得非常简单:

function convertDate(inputFormat) {
  function pad(s) { return (s < 10) ? '0' + s : s; }
  var d = new Date(inputFormat)
  return [pad(d.getDate()), pad(d.getMonth()+1), d.getFullYear()].join('/')
}

console.log(convertDate('Mon Nov 19 13:29:40 2012')) // => "19/11/2012"

回答by Trevor Dixon

This will ensure you get a two-digit day and month.

这将确保您获得两位数的日期和月份。

function formattedDate(d = new Date) {
  let month = String(d.getMonth() + 1);
  let day = String(d.getDate());
  const year = String(d.getFullYear());

  if (month.length < 2) month = '0' + month;
  if (day.length < 2) day = '0' + day;

  return `${day}/${month}/${year}`;
}

Or terser:

或者更简洁:

function formattedDate(d = new Date) {
  return [d.getDate(), d.getMonth()+1, d.getFullYear()]
      .map(n => n < 10 ? `0${n}` : `${n}`).join('/');
}