Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Время на JS
 
 автор: ванек2010   (05.05.2010 в 10:39)   письмо автору
 
 

как сделать обычное динамическое время на JS? 10:38:01 типо того

  Ответить  
 
 автор: sim5   (05.05.2010 в 11:40)   письмо автору
 
   для: ванек2010   (05.05.2010 в 10:39)
 

Что значит динамическое время, часы что-ли?

  Ответить  
 
 автор: Ванек2010   (05.05.2010 в 11:53)   письмо автору
 
   для: sim5   (05.05.2010 в 11:40)
 

Ну да, часы, только не круглые, а обычные цифры типа 12:01:56

  Ответить  
 
 автор: sim5   (05.05.2010 в 12:38)   письмо автору
 
   для: Ванек2010   (05.05.2010 в 11:53)
 

<script>
onload = function watch() {
  var dt = new Date();
  var M = dt.getMinutes() < 10 ? '0'+dt.getMinutes() : dt.getMinutes();
  var S = dt.getSeconds() < 10 ? '0'+dt.getSeconds() : dt.getSeconds();
  document.getElementById('tm').innerHTML = dt.getHours()+':'+M+':'+S;
  setTimeout("watch()", 1000);
}
</script>
<div id="tm"></div>

  Ответить  
 
 автор: Ванек2010   (05.05.2010 в 14:32)   письмо автору
 
   для: sim5   (05.05.2010 в 12:38)
 

В Firefox не работает, почему?

  Ответить  
 
 автор: DJ Paltus   (05.05.2010 в 14:36)   письмо автору
 
   для: Ванек2010   (05.05.2010 в 14:32)
 

Вот так заработает:
<html>
    <head>
    <script>
        function watch() {
            var dt = new Date();
            var M = dt.getMinutes() < 10 ? '0'+dt.getMinutes() : dt.getMinutes();
            var S = dt.getSeconds() < 10 ? '0'+dt.getSeconds() : dt.getSeconds();
            document.getElementById('tm').innerHTML = dt.getHours()+':'+M+':'+S;
            setTimeout('watch()', 1000);
            }
        </script>
    </head>
    <body onload = 'watch()'>
        <div id="tm"></div>
    </body>
</html>

  Ответить  
 
 автор: Ванек2010   (05.05.2010 в 14:45)   письмо автору
 
   для: DJ Paltus   (05.05.2010 в 14:36)
 

Спасибо

  Ответить  
 
 автор: sim5   (05.05.2010 в 14:44)   письмо автору
 
   для: Ванек2010   (05.05.2010 в 14:32)
 

Чтобы без лишних вопросов, сделайте так:
function watch() { 
  var dt = new Date(); 
  var M = dt.getMinutes() < 10 ? '0'+dt.getMinutes() : dt.getMinutes(); 
  var S = dt.getSeconds() < 10 ? '0'+dt.getSeconds() : dt.getSeconds(); 
  document.getElementById('tm').innerHTML = dt.getHours()+':'+M+':'+S; 
  setTimeout("watch()", 1000); 
}
onload = watch;

  Ответить  
 
 автор: Ванек2010   (10.06.2010 в 20:39)   письмо автору
 
   для: sim5   (05.05.2010 в 14:44)
 

А как сделать, чтобы время у всех было GTM +3 , а то все говорят что у них разное время оказывается

  Ответить  
 
 автор: sl1p   (10.06.2010 в 20:44)   письмо автору
 
   для: Ванек2010   (10.06.2010 в 20:39)
 

Жс, берет время клиента(т.е. компьтера пользователя).

чтобы время было одинаковое у всех, нужно его синхронизировать с сервером(задать начальное время)

  Ответить  
 
 автор: Ванек2010   (11.06.2010 в 01:14)   письмо автору
 
   для: sl1p   (10.06.2010 в 20:44)
 

мне бы код, потому что я в жс не секу.. и что именно в базу

  Ответить  
 
 автор: sl1p   (11.06.2010 в 02:21)   письмо автору
 
   для: Ванек2010   (11.06.2010 в 01:14)
 

<html> 
    <head> 
    <script> 
        function watch(serverTime) {
            var dt = new Date();
            dt.setTime(serverTime);
            var M = dt.getMinutes() < 10 ? '0'+dt.getMinutes() : dt.getMinutes(); 
            var S = dt.getSeconds() < 10 ? '0'+dt.getSeconds() : dt.getSeconds(); 
            document.getElementById('tm').innerHTML = dt.getHours()+':'+M+':'+S;
            serverTime += 1000;
            setTimeout(watch, 1000, serverTime); 
            } 
        </script> 
    </head> 
    <body onload = 'watch(<?php echo time()*1000?>)'>
        <div id="tm"></div> 
    </body> 
</html>

  Ответить  
 
 автор: АЯ   (11.06.2010 в 02:39)   письмо автору
 
   для: Ванек2010   (11.06.2010 в 01:14)
 

<html>
<head>
<script>
function watch ()
{
var D0 = new Date (), HMS = new Array (), H0 = D0.getUTCHours () + 4,
P0 = new Function ('x', "return (x < 10) ? ('0' + x) : x"); if (H0 > 23) H0 -= 24;
HMS [0] = P0 (H0); HMS [1] = P0 (D0.getMinutes ()); HMS [2] = P0 (D0.getSeconds ());
document.getElementById ('tm').innerHTML = HMS.join (':'); setTimeout ('watch ()', 1000);
}
</script>
</head>
<body onload="watch ()">
<div id="tm"></div>
</body>
</html>

  Ответить  
 
 автор: sl1p   (11.06.2010 в 03:16)   письмо автору
 
   для: АЯ   (11.06.2010 в 02:39)
 

и по вашему время здесь будет у всех одинаковое?

  Ответить  
 
 автор: АЯ   (11.06.2010 в 03:25)   письмо автору
 
   для: sl1p   (11.06.2010 в 03:16)
 

UTC (Universal Coordinated Time), which refers to the time as set by the World Time Standard. Previously referred to as Greenwich Mean time or GMT.

  Ответить  
 
 автор: sl1p   (11.06.2010 в 03:30)   письмо автору
 
   для: АЯ   (11.06.2010 в 03:25)
 

Хм не знал, интересно.

А ради интереса, мой код синхронизации с сервером катит или там не так чтото?:)

  Ответить  
 
 автор: sim5   (11.06.2010 в 07:20)   письмо автору
 
   для: sl1p   (11.06.2010 в 03:30)
 

Конечно не катит, во первых ответ клиенту будет приходить с задержкой, а у вас она не учитывается, во вторых ваши часики уже при вторичном запросе выдадут NaN:NaN:NaN, да и не то время показывать будут.
Нужно передавать с сервера смещение часового пояса в минутах: date('Z')/60, ибо есть смещения 6:30, 9:30, а на клиенте UTC, как выше.

  Ответить  
 
 автор: Ванек2010   (16.06.2010 в 23:20)   письмо автору
 
   для: АЯ   (11.06.2010 в 02:39)
 

часы пропадают спустя какое-то время

  Ответить  
 
 автор: АЯ   (17.06.2010 в 10:55)   письмо автору
 
   для: Ванек2010   (16.06.2010 в 23:20)
 

Скрипт к этому "пропаданию" не имеет никакого отношения.
Ищите иные причины.

  Ответить  
 
 автор: АЯ   (05.05.2010 в 18:08)   письмо автору
 
   для: Ванек2010   (05.05.2010 в 14:32)
 

Если вас действительно интересует - "Почему?" - почитайте тут: http://xpoint.ru/forums/programming/javascript/crossbrowser/thread/44176.xhtml

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования