Часы на JS с Московским временем
Здраствуйте! Нужна помощь. Т.к. я только начинаю верстать JS, знаний у меня почти нуль, то приходится обращаться на ваш форум.
Ну так вот, нужет простенький скрипт, который отображает время, без обновления страницы, но чтобы зона местного времени была московская. Гуглил долго, нашёл только скрипты, которые отображают время без обновления страницы, но считывают пользовательские настройки времени. Вот прпример найденного: <script type="text/javascript"> function startTime() { var tm=new Date(); var h=tm.getHours(); var m=tm.getMinutes(); var s=tm.getSeconds(); m=checkTime(m); s=checkTime(s); document.getElementById('txt').innerHTML=h+":"+m+":"+s; t=setTimeout('startTime()',500); } function checkTime(i) { if (i<10) { i="0" + i; } return i; } </script> <span id="txt"></span> Короче говоря, переделайте как-нибудь выше прописанный скрипт, чтобы он показывал московское время. |
Ваш скрипт и так показывает местное время согласно пользовательских настроек, поскольку использованы методы вида getHours, а не getUTCHours.
Если нужно показывать московское время для всех пользователей, то нужно вместо var tm=new Date писать var tm=new Date(Date.now()+14400000) и вместо getHours, getMinutes, getSeconds писать getUTCHours, getUTCMinutes, getUTCSeconds. |
Спасибо огромное!
|
Я бы сделал так:
<script type="text/javascript"> function moscowTime() { var d = new Date(); d.setHours( d.getHours() + 4, d.getMinutes() + d.getTimezoneOffset() ); return d.toTimeString().substring(0,8); } onload = function () { setInterval(function () { document.getElementById("txt").innerHTML = moscowTime(); }, 100); } </script> <span id="txt"></span> Не сказать что лучше, но короче.) |
А как сделать что бы часы были без секунд... что бы просто две точки мигали?
Помогите плз. |
fabrique,
:cray: <!DOCTYPE HTML> <html> <head> <title></title> </head> <body> <span id="txt"></span> <script type="text/javascript"> function moscowTime() { var d = new Date(); d.setHours( d.getHours() + 4, d.getMinutes() + d.getTimezoneOffset() ); var reg = d.getSeconds()%2; var time = d.toTimeString().substring(0,5) reg && (time = time.replace(':',' ')) return time; } onload = function () { setInterval(function () { document.getElementById("txt").innerHTML = moscowTime(); }, 100); } </script> </body> </html> |
рони, ну а где мне еще советы выпрашивать, как не здесь?)) спасибо!))
|
Цитата:
Скопировал этот скрипт два раза, заменил вывод айди, изменил moscowTime на gonkongTime, но в итоге он мне показывает только время Гонконга, а московское время он скрыл. Конфликт скриптов типа? |
рони,
не правильно часы показывают, спешат на час ) |
laimas,
Это потому что законы о переводе с зимнего на летнее меняются быстрее, чем пишутся скрипты. С 26 октября 2014 года Москва соответствует UTC+3, с 27 марта 2011 года по 25 октября 2014 года соответствовала UTC+4. |
Часовой пояс GMT +3, время: 20:21. |