0

大家好,如果这个问题之前已经回答过,但我无法找到解决方案,我很抱歉。我对 js 完全陌生,所以请友好:)

我想问一下如何在 div 中显示时间?我无法在我的页面上显示此功能。当我在浏览器中启动页面时,它只是空白。

谢谢,我希望我的问题是有道理的。

document.getElementById("para1").innerHTML = formatAMPM(date);

function formatAMPM(date) {
  var elem = document.getElementById("para1");
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var ampm = hours >= 12 ? 'pm' : 'am';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  var strTime = hours + ':' + minutes + ' ' + ampm;
  return strTime;
 }
4

3 回答 3

3

你需要这个:

document.getElementById("para1").innerHTML = formatAMPM(new Date());

您可能还想将它包装在 jQuery 之类的东西中ready(),以确保 DOM 已加载:

$(document).ready(function() {
    // Handler for .ready() called.
});

http://api.jquery.com/ready/

jQuery 不是唯一的方法,而只是一个建议。

于 2013-03-12T23:24:44.200 回答
1
document.getElementById("para1").innerHTML = formatAMPM();

function formatAMPM() {
var date = new Date();
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours || 12;
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}

演示视图

于 2013-03-12T23:25:11.560 回答
1

您可以使用 toLocaleTimeString() 在用户熟悉的时间字符串中返回它。

替换将删除秒计数器-

function formatAMPM() {
  var d=new Date().toLocaleTimeString();
  return d.replace(/^(\d{2}:\d{2}):\d{2}(.*)/, '$1$2');
}

或者您可以在计时器上调用此方法或您的方法-

onload= function(){
    window.showTimer= setInterval(function(){
        var date= new Date(),
        hours= date.getHours(),
        time= date.getMinutes();
        if(time<10) time= '0'+time;
        document.getElementById("para1").innerHTML=
        (hours%12 || 12)+':'+time+(hours>= 12? ' pm':' am');
    },1000);
}
于 2013-03-13T02:58:50.893 回答