Не могли бы вы рассказать мне, как установить время в этом формате ЧЧ: ММ: СС. Я хочу установить это в div?
Не могли бы вы рассказать мне, как установить время в этом формате ЧЧ: ММ: СС. Я хочу установить это в 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>
ДЕМО с использованием только 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
new Date().toLocaleTimeString()
Вы можете сделать это в Javascript
.
var time = new Date();
console.log(time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds());
В настоящее время возвращается 15:5:18
. Обратите внимание, что если какое-либо из значений меньше 10, они будут отображаться с использованием только одной цифры, а не двух.
Проверьте это в JSFiddle
Обновления:
для попытки с префиксом 0
var time = new Date();
console.log(
("0" + time.getHours()).slice(-2) + ":" +
("0" + time.getMinutes()).slice(-2) + ":" +
("0" + time.getSeconds()).slice(-2));
Для этого вы можете использовать moment.js .
var now = new moment();
console.log(now.format("HH:mm:ss"));
Выходы:
16:30:03
new Date().toTimeString().slice(0,8)
Обратите внимание, что toLocaleTimeString () может возвращать что-то вроде 9:00:00 AM
.
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 секунда, вывод будет обновляться каждую секунду.
15:25:50
Вот как я использую этот метод в одном из своих побочных проектов.
setInterval(() => {
this.time = this.shared.time;
}, 1000)
Может быть, вам интересно, setInterval()
не вызовет ли использование некоторых проблем с производительностью.
SetInterval интенсивно использует процессор?
Я не думаю, что setInterval по своей сути вызовет у вас серьезные проблемы с производительностью. Я подозреваю, что репутация может появиться из более ранней эпохи, когда процессоры были менее мощными. ... - одинокий день
Нет, setInterval сам по себе не требует большой загрузки ЦП. Если у вас много интервалов, выполняемых с очень короткими циклами (или очень сложная операция, выполняющаяся с умеренно длинным интервалом), тогда это может легко вызвать интенсивную нагрузку на ЦП, в зависимости от того, что именно ваши интервалы делают и как часто они это делают. ... - арот
Но в целом использование setInterval, как и многие другие на вашем сайте, может замедлить работу. 20 одновременно выполняемых интервалов с более или менее тяжелой работой повлияют на шоу. И опять же ... вы действительно можете испортить любую часть, я думаю, это не проблема setInterval. ... - Дженди
new Date().toLocaleTimeString('it-IT')
it-IT
Локаль происходит раздуть час при необходимости и опускает PM или AM01:33:01
.toLocaleTimeString()
?
1:15:30 PM
что пропускает начальный 0 и добавляет `PM`, который в противном случае вам пришлось бы удалить. Я отредактировал свой ответ, чтобы прояснить это.
Этот код выведет в консоль текущее время в формате ЧЧ: ММ: СС с учетом часовых поясов 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
Это пример того, как установить время в div (only_time) с помощью javascript.
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>