非常新的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?如果是这样,如果两个日期都需要转换,那将如何运作?
任何帮助表示赞赏!
回声
答案 0 :(得分:0)
使用Javascript,您可以使用innerHTML
元素属性进行更改。你可以这样做。
document.getElementById('test').innerHTML=now.format("dd/MM/yy");
希望这会帮助你。
答案 1 :(得分:0)
如果你有很多日期格式要求,这个lib会有所帮助 moment.js
答案 2 :(得分:0)
您可以执行以下操作来实现该功能。我已经为需要日期格式转换的所有DOM元素添加了一个类customDate
,并在onload
函数中添加了替换它们的代码。
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;