以 dd/mm/yyyy 格式显示当前日期

29

我正在使用一个名为“clickfunnels”的网站构建工具,它们不支持显示当前日期的功能。但是,我可以向其中添加自定义HTML。

我想知道是否有人知道如何以dd/mm/yyyy的格式在网站上显示当前日期。

目前我已经尝试过这个:

<p id="date"></p>
<script>
document.getElementById("date").innerHTML = Date();
</script>

这个方法是可行的,但它显示的日期格式如下:

Sat Sep 12 2015 16:40:10 GMT+0200 (Timezone.... )

7个回答

52

这里有一种方法。您需要从日期对象中获取单独的组件(日、月和年),然后根据您的要求构建和格式化字符串。

n =  new Date();
y = n.getFullYear();
m = n.getMonth() + 1;
d = n.getDate();
document.getElementById("date").innerHTML = m + "/" + d + "/" + y;
<p id="date"></p>


好的,这个可以运行,但是显示的日期是本月的第6天,而不是12号? - Miqro
1
哇..太棒了..快速提问,如果可以的话..能不能像这样:2015年9月12日? - Miqro
1
你可以,但需要再花点功夫。你需要创建一个包含月份名称的数组:一月 = 0,二月 = 1 ... 十二月 = 11。然后,将数组元素显示在'm'变量的位置上。自己再努力一下,如果遇到困难,可以提个新问题。 - Lance
1
@Miqro 这是一个可以按照你想要的方式显示的 jsfiddle: https://jsfiddle.net/2c8uogff/ - Lance

25

使用 Date.prototype.toLocaleDateString() 方法。

new Date().toLocaleDateString()
= "9/13/2015"
你不需要设置innerHTML,只需编写。
<p>
<script> document.write(new Date().toLocaleDateString()); </script>
</p>

会起作用。

supportness

P.S.

new Date().toDateString()
= "Sun Sep 13 2015"

6

我更喜欢使用

<input type='date' id='hasta' value='<?php echo date('Y-m-d');?>'>

运作良好


12
那是 PHP,不是 HTML(或 JavaScript)。 - melpomene

2
var currentDate  = new Date(),
    currentDay   = currentDate.getDate() < 10 
                 ? '0' + currentDate.getDate() 
                 : currentDate.getDate(),
    currentMonth = currentDate.getMonth() < 9 
                 ? '0' + (currentDate.getMonth() + 1) 
                 : (currentDate.getMonth() + 1);

document.getElementById("date").innerHTML = currentDay + '/' + currentMonth + '/' +  currentDate.getFullYear();

您可以阅读更多关于日期对象的信息。


2
这对我很有帮助:
<p>Date/Time: <span id="datetime"></span></p><script>var dt = new Date();
document.getElementById("datetime").innerHTML=dt.toLocaleString();</script>    

1
这似乎使用了与此答案相同的技术... - Heretic Monkey

1
  <script >
window.onload = setInterval(clock,1000);
function clock()
{
    var d = new Date();
    var date = d.getDate();
    var year = d.getFullYear();
    var month = d.getMonth();
    var monthArr = ["January", "February","March", "April", "May", "June", "July", "August", "September", "October", "November","December"];
    month = monthArr[month];
    document.getElementById("date").innerHTML=date+" "+month+", "+year;
}


1
<html>
<body>

<input id="date" type="date" /> 
<script>
var date = new Date();
var currentDate = date.toISOString().slice(0,10);
var currentTime = date.getHours() + ':' + date.getMinutes();

document.getElementById('date').value = currentDate;
</script>
 
</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接