0

我正在尝试使用 JavaScript 在我的 web 应用程序上显示日期和时间。

尽管我已经成功地做到了这一点,但我的日期和时间打印为 29/5/13。如果小于十,我希望它在月份前面有一个零。我曾尝试使用 if 语句,但没有太多成功。我目前拥有的代码是:

<script language="javascript"> 

    today = new Date(); 
    document.write("<BR>Time: ", today.getHours(),":",today.getMinutes()); 
    document.write("<BR>Date: ", today.getDate(),"/",today.getMonth()+1,"/",today.getYear()-100);


</script>

任何帮助将不胜感激。

4

4 回答 4

4

现场演示

function pad(num) {
  return ("0"+num).slice(-2);
}

要使用:

+  pad(today.getMonth()+1))
于 2013-05-29T14:52:33.760 回答
1

试试这个:

var today = new Date();
var month = ((today.getMonth() + 1) < 10) ? '0' + (today.getMonth() + 1) : (today.getMonth() + 1);
document.write("<BR>Time: ", today.getHours(), ":", today.getMinutes());
document.write("<BR>Date: ", today.getDate(), "/", month, "/", today.getYear() - 100);

jsFiddle 示例

于 2013-05-29T14:51:26.467 回答
1

用零填充的另一种方法

function zfill(str, len) {
    var i = len - (''+str).length + 1;
    if (i > 0) return new Array(i).join('0') + str;
    return ''+str;
}

然后

zfill(5, 2); // "05"
于 2013-05-29T14:58:09.443 回答
0

试试这个:

var d = new Date();
var month = d.getMonth()+1;
if (month.toString().length!==2) { month="0"+month; }
于 2013-05-29T15:04:48.690 回答