JavaScript date and time formatting,

ぃ、小莉子 提交于 2019-12-12 02:27:51

问题


I have read a lot of thread about the subject, but i'm not much into programming... i've made some tests but never acheive what i wanted.

Here we have a html template we have to modify to suit our needs.

here the code i have to edit:

<p id="DATE"></p>
<script>
    var d = new Date();
    document.getElementById("DATE").innerHTML = d.toString();
</script>

Its giving me the date OK...but not i the format i want... the format i want is... DD-MM-YYYY HH:MM

Simple has that :)

Its been a couple of hours and i can't do it... Can anyone help with a code i just can copy/paste in my html file.


回答1:


As opposed to using an external JavaScript library for a simple task. You should be able to achieve the same with Vanilla js.

Refer to this: Where can I find documentation on formatting a date in JavaScript?

In short:

var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1; //Months are zero based
var curr_year = d.getFullYear();
var curr_hour = d.getHours();
var curr_min = d.getMinutes();
console.log(curr_date + "-" + curr_month + "-" + curr_year + " " + curr_hour + ":" + curr_min);

The above snippet should have all the code you need.

For your specific implementation, you will need to do the below:

<script>
    var d = new Date();
    var curr_date = d.getDate();
    var curr_month = d.getMonth() + 1; //Months are zero based
    var curr_year = d.getFullYear();
    var curr_hour = d.getHours();
    var curr_min = d.getMinutes();
    var formattedDate = curr_date + "-" + curr_month + "-" + curr_year + " " + curr_hour + ":" + curr_min;
    document.getElementById("DATE").innerHTML = formattedDate;
</script>



回答2:


A function for the format you require is fairly simple. The following will return a string for a provided Date, or the current date if none passed.

function formatDate(date) {
  var d = date || new Date();
  function z(n){return (n<10?'0':'')+n}
  return z(d.getDate()) + '-' + 
         z(d.getMonth()+1) + '-' +
         d.getFullYear() + ' ' +
         z(d.getHours()) + ':' +
         z(d.getMinutes());
}
document.write(formatDate());

BTW, you can't use the same token for two separate parts. While there is no standard or even consistency for formatting tokens, your format would be more commonly expressed as:

DD-MM-YYYY HH:mm

Which is compatible with moment.js and a few others, though there are many other token sets to represent the same format.



来源:https://stackoverflow.com/questions/42774908/javascript-date-and-time-formatting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!