Хорошие дни. У меня есть этот красивый и чистый код для работающих часов.Установка часового пояса для работы часов в JavaScript
<script type="text/javascript">
function DisplayTime(){
if (!document.all && !document.getElementById)
return
timeElement=document.getElementById? document.getElementById("curTime"): document.all.tick2
var CurrentDate=new Date()
var hours=CurrentDate.getHours()
var minutes=CurrentDate.getMinutes()
var seconds=CurrentDate.getSeconds()
var DayNight="PM"
if (hours<12) DayNight="AM";
if (hours>12) hours=hours-12;
if (hours==0) hours=12;
if (minutes<=9) minutes="0"+minutes;
if (seconds<=9) seconds="0"+seconds;
var currentTime=hours+":"+minutes+":"+seconds+" "+DayNight;
timeElement.innerHTML="<font style='font-family:Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&subset=latin,cyrillic-ext,latin-extfont-size:14px;color:#fff;'>"+currentTime+"</b>"
setTimeout("DisplayTime()",1000)
}
window.onload=DisplayTime
</script>
Моя единственная проблема - это системное время. Как настроить часовой пояс так, чтобы он отображал правильное время, основанное на указанном часовом поясе?
Я думаю, вы не можете - JS зависит исключительно от времени клиента! –
Объект date получает время с устройства пользователя. Это основано исключительно на стороне клиента. Я думаю, что время на стороне сервера получает стандартный часовой пояс (UTC), в противном случае клиентская сторона зависит от часового пояса пользователя. –
Боковое примечание: этот код * ужасный * и ужасно устарел. Он не может использовать базовые соглашения JavaScript, полагается на ужас, который является автоматической точкой с запятой (но иногда), имеет обходное решение для браузеров, у которых нет 'getElementById' (их больше нет и они не были 15 лет или около того), использует длинный-устаревший и теперь фактически недействительный элемент 'font', создает ненужный глобальный ... –