JavaScript date and time formatting,

2019-09-12 05: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.

2条回答
2楼-- · 2019-09-12 06:25

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>
查看更多
Root(大扎)
3楼-- · 2019-09-12 06:39

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.

查看更多
登录 后发表回答