Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.08.2012, 11:42
Интересующийся
Отправить личное сообщение для ŞΘLƉiΞR Посмотреть профиль Найти все сообщения от ŞΘLƉiΞR
 
Регистрация: 04.04.2012
Сообщений: 17

Часы на 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>


Короче говоря, переделайте как-нибудь выше прописанный скрипт, чтобы он показывал московское время.

Последний раз редактировалось ŞΘLƉiΞR, 11.08.2012 в 11:46.
Ответить с цитированием
  #2 (permalink)  
Старый 11.08.2012, 15:07
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Ваш скрипт и так показывает местное время согласно пользовательских настроек, поскольку использованы методы вида getHours, а не getUTCHours.
Если нужно показывать московское время для всех пользователей, то нужно вместо var tm=new Date писать var tm=new Date(Date.now()+14400000) и вместо getHours, getMinutes, getSeconds писать getUTCHours, getUTCMinutes, getUTCSeconds.

Последний раз редактировалось oneguy, 11.08.2012 в 15:15.
Ответить с цитированием
  #3 (permalink)  
Старый 11.08.2012, 16:48
Интересующийся
Отправить личное сообщение для ŞΘLƉiΞR Посмотреть профиль Найти все сообщения от ŞΘLƉiΞR
 
Регистрация: 04.04.2012
Сообщений: 17

Спасибо огромное!
Ответить с цитированием
  #4 (permalink)  
Старый 11.08.2012, 17:13
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Я бы сделал так:
<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>

Не сказать что лучше, но короче.)
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 01.03.2013, 12:44
Новичок на форуме
Отправить личное сообщение для fabrique Посмотреть профиль Найти все сообщения от fabrique
 
Регистрация: 31.07.2012
Сообщений: 9

А как сделать что бы часы были без секунд... что бы просто две точки мигали?
Помогите плз.
Ответить с цитированием
  #6 (permalink)  
Старый 01.03.2013, 13:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

fabrique,

<!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>
Ответить с цитированием
  #7 (permalink)  
Старый 01.03.2013, 19:47
Новичок на форуме
Отправить личное сообщение для fabrique Посмотреть профиль Найти все сообщения от fabrique
 
Регистрация: 31.07.2012
Сообщений: 9

рони, ну а где мне еще советы выпрашивать, как не здесь?)) спасибо!))
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2016, 11:56
Интересующийся
Отправить личное сообщение для avanesov89 Посмотреть профиль Найти все сообщения от avanesov89
 
Регистрация: 27.03.2014
Сообщений: 15

Сообщение от Aetae Посмотреть сообщение
Я бы сделал так:
<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>

Не сказать что лучше, но короче.)
Скажите, а как вывести два города одновременно?

Скопировал этот скрипт два раза, заменил вывод айди, изменил moscowTime на gonkongTime, но в итоге он мне показывает только время Гонконга, а московское время он скрыл.

Конфликт скриптов типа?
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2016, 12:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

рони,
не правильно часы показывают, спешат на час )
Ответить с цитированием
  #10 (permalink)  
Старый 14.03.2016, 12:45
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

laimas,
Это потому что законы о переводе с зимнего на летнее меняются быстрее, чем пишутся скрипты. С 26 октября 2014 года Москва соответствует UTC+3, с 27 марта 2011 года по 25 октября 2014 года соответствовала UTC+4.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
Конфликтуют js скрипты в Opera romka AJAX и COMET 2 28.05.2012 15:32
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28