使用javascript在div内显示时间am / pm

时间:2013-03-12 23:23:03

标签: javascript time

大家好我很抱歉,如果之前已经回答过这个问题,但我找不到解决办法。我是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;
 }

3 个答案:

答案 0 :(得分:3)

你需要这个:

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

你可能还想把它包装在像jQuery的ready()这样的东西中,以确保已经加载了DOM:

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

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

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

答案 1 :(得分: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;
}

DEMO VIEW

答案 2 :(得分: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);
}