この形式HH:MM:SSで時間を設定する方法を教えてください。これをdivで設定したいですか?
この形式HH:MM:SSで時間を設定する方法を教えてください。これをdivで設定したいですか?
回答:
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
function startTime() {
var today = new Date();
var h = today.getHours();
var m = today.getMinutes();
var s = today.getSeconds();
// add a zero in front of numbers<10
m = checkTime(m);
s = checkTime(s);
document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
t = setTimeout(function() {
startTime()
}, 500);
}
startTime();
<div id="time"></div>
DEMOのみJavaScriptを使用して
更新
(function () {
function checkTime(i) {
return (i < 10) ? "0" + i : i;
}
function startTime() {
var today = new Date(),
h = checkTime(today.getHours()),
m = checkTime(today.getMinutes()),
s = checkTime(today.getSeconds());
document.getElementById('time').innerHTML = h + ":" + m + ":" + s;
t = setTimeout(function () {
startTime()
}, 500);
}
startTime();
})();
あなたはネイティブ関数を使うことができますDate.toLocaleTimeString()
:
var d = new Date();
var n = d.toLocaleTimeString();
これは例えば表示されます:
"11:33:01"
http://www.w3schools.com/jsref/jsref_tolocaletimestring.aspで見つけました
これはで行うことができますJavascript
。
var time = new Date();
console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
現在は戻ります15:5:18
。いずれかの値が10未満の場合、2桁ではなく1桁のみを使用して表示されることに注意してください。
JSFiddleでこれを確認してください
更新:
接頭辞が0の場合
var time = new Date();
console.log(
("0" + time.getHours()).slice(-2) + ":" +
("0" + time.getMinutes()).slice(-2) + ":" +
("0" + time.getSeconds()).slice(-2));
function realtime() {
let time = moment().format('h:mm:ss a');
document.getElementById('time').innerHTML = time;
setInterval(() => {
time = moment().format('h:mm:ss a');
document.getElementById('time').innerHTML = time;
}, 1000)
}
realtime();
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
<div id="time"></div>
moment.jsとsetIntervalを使用する非常に簡単な方法。
setInterval(() => {
moment().format('h:mm:ss a');
}, 1000)
出力例
使用してsetInterval()
1000ミリ秒または1秒に設定し、出力は1秒ごとに更新されます。
3:25:50 pm
これは、サイドプロジェクトの1つでこの方法を使用する方法です。
setInterval(() => {
this.time = this.shared.time;
}, 1000)
多分あなたは使用setInterval()
がいくつかのパフォーマンスの問題を引き起こすかどうか疑問に思っています。
setIntervalが本質的にパフォーマンスの重大な問題を引き起こすとは思いません。私の評判は、CPUの性能が低下した初期の時代から来ているのではないかと思います。...-孤独な日
いいえ、setInterval自体はCPUに負荷をかけません。非常に短いサイクルで実行される多くの間隔(または適度に長い間隔で実行される非常に複雑な操作)がある場合、間隔が正確に何を実行しているかによって、CPUに負荷がかかりやすくなります。...-aroth
ただし、一般に、サイトでsetIntervalを実際のように使用すると、処理が遅くなる可能性があります。多かれ少なかれ重い作業で20の同時実行間隔はショーに影響を与えます。そして、繰り返しますが、setIntervalの問題ではないと思われる部分を台無しにすることができます。...-jAndy
new Date().toLocaleTimeString('it-IT')
it-IT
ロケールは、必要に応じてパッドに時間を発生し、PMまたはAMを省略します01:33:01
.toLocaleTimeString()
か?
1:15:30 PM
、最初の0を逃し、 `PM`を追加するようなものを取得します。それ以外の場合は削除する必要があります。私はそれを明確にするために私の答えを編集しました。
このコードは、コンソールに現在の時刻をHH:MM:SS形式で出力し、GMTタイムゾーンを考慮に入れます。
var currentTime = Date.now()
var GMT = -(new Date()).getTimezoneOffset()/60;
var totalSeconds = Math.floor(currentTime/1000);
seconds = ('0' + totalSeconds % 60).slice(-2);
var totalMinutes = Math.floor(totalSeconds/60);
minutes = ('0' + totalMinutes % 60).slice(-2);
var totalHours = Math.floor(totalMinutes/60);
hours = ('0' + (totalHours+GMT) % 24).slice(-2);
var timeDisplay = hours + ":" + minutes + ":" + seconds;
console.log(timeDisplay);
//Output is: 11:16:55
これは、JavaScriptを使用してdiv(only_time)に時間を設定する方法の例です。
function date_time() {
var date = new Date();
var am_pm = "AM";
var hour = date.getHours();
if(hour>=12){
am_pm = "PM";
}
if (hour == 0) {
hour = 12;
}
if(hour>12){
hour = hour - 12;
}
if(hour<10){
hour = "0"+hour;
}
var minute = date.getMinutes();
if (minute<10){
minute = "0"+minute;
}
var sec = date.getSeconds();
if(sec<10){
sec = "0"+sec;
}
document.getElementById("time").innerHTML = hour+":"+minute+":"+sec+" "+am_pm;
}
setInterval(date_time,500);
<per>
<div class="date" id="time"></div>
</per>