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());

ready()また、DOMがロードされていることを確認するために、jQueryのようなものでラップすることもできます。

$(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 に答える