如何使用JS在HTML中转换日期格式?

时间:2018-01-08 05:18:29

标签: javascript html date format

非常新的javascript,非常感谢您的帮助。

我的部分HTML代码包含从表单中提取的日期,这些日期将被打印出来。

<body> 
Test Date<br> 
<span id="test">{{TestDate|"dd/MM/yy"}}</span><br>
Test Date 2<br> 
<span id="test2">{{NextTest|"dd/MM/yy"}}</span><br>
</body>

TestDate和NextTest是从表单和结果中获取的数据。但是,日期结果为yyyy-MMM-dd

我尝试使用dd/MM/yy将其显示为{{TestDate|"dd/MM/yy"}}。但是,这似乎不起作用。

我已经看到了使用js执行此操作的几个选项,但我不确定如何将此与HTML一起使用,(标记?以及如何使其在没有触发器/加载时执行,因此两个日期将采用正确的格式在打印之前。)

  

例如var now = new Date(); now.format( “DD / MM / YY”); //返回,   例如,08/01/18

但不确定如何将这个并入/修改为上面的HTML以使日期格式更改生效,因为我不需要新的日期,但想要使用为TestDate和NextTest返回的日期。

或者我是否需要参考范围ID?如果是这样,如果两个日期都需要转换,那将如何运作?

任何帮助表示赞赏!

回声

3 个答案:

答案 0 :(得分:0)

使用Javascript,您可以使用innerHTML元素属性进行更改。你可以这样做。

document.getElementById('test').innerHTML=now.format("dd/MM/yy"); 

希望这会帮助你。

答案 1 :(得分:0)

如果你有很多日期格式要求,这个lib会有所帮助 moment.js

答案 2 :(得分:0)

您可以执行以下操作来实现该功能。我已经为需要日期格式转换的所有DOM元素添加了一个类customDate,并在onload函数中添加了替换它们的代码。

&#13;
&#13;
window.onload = function() {
  var customDates = document.getElementsByClassName('customDate');
  for (var i=0; i<customDates.length; i++) {
    var customDate = new Date(customDates[i].innerHTML);
    var year = customDate.getFullYear();
 var month = (customDate.getMonth()+1).toString().padStart(2, '0');
    var day = customDate.getDate().toString().padStart(2, '0');
    document.getElementsByClassName('customDate')[i].innerHTML = day+"/"+month+"/"+year;
  }
}
&#13;
<body> 
Test Date<br> 
<span class="customDate" id="test">2018-01-08</span><br>
Test Date 2<br> 
<span class="customDate" id="test2">2017-12-10</span><br>
</body>
&#13;
&#13;
&#13;