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

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

 

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

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

тема: Скрипт определения и вывода текущей даты и времени
 
 автор: Norek   (10.02.2008 в 01:21)   письмо автору
 
 

Подскажите как написать скрипт определения и вывода текущей даты и времени, как вверху на сайте http://freewm.ru/

   
 
 автор: Faraon   (10.02.2008 в 01:38)   письмо автору
 
   для: Norek   (10.02.2008 в 01:21)
 

Во первых это не PHP, это Javascript.
Во вторых если проанализировать страницу, то думаю можно найти решение.

   
 
 автор: mihdan   (10.02.2008 в 01:45)   письмо автору
 
   для: Norek   (10.02.2008 в 01:21)
 

На данном сайте это сделано на php(для получение точного времени сервера) + js(для обновления часов каждую секнду). Смысл их скрипта в аттаче

   
 
 автор: Norek   (10.02.2008 в 13:14)   письмо автору
 
   для: mihdan   (10.02.2008 в 01:45)
 

>На данном сайте это сделано на php(для получение точного времени сервера) + js(для обновления часов каждую секнду). Смысл их скрипта в аттаче

Cпасибо, но я, к сожалению, ничего не понимаю в js, не могли бы вы помочь с подготовкой конечного варианта?

   
 
 автор: Norek   (15.02.2008 в 00:22)   письмо автору
 
   для: Norek   (10.02.2008 в 13:14)
 

Неужели никто мне не поможет?

   
 
 автор: sim5   (15.02.2008 в 04:12)   письмо автору
 
   для: Norek   (15.02.2008 в 00:22)
 


<SCRIPT Language="JavaScript">
function ClockTimeZone() {
  var TimezoneOffset = 9 // указать нужное смещение по Гринвичу
  var localTime = new Date();
  var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
  var time = new Date(ms); 
  var hour = time.getHours(); 
  var minute = time.getMinutes();
  var second = time.getSeconds();
  var temp = "" + ((hour < 10) ? "0" : "") + hour;
  temp += ((minute < 10) ? ":0" : ":") + minute;
  temp += ((second < 10) ? ":0" : ":") + second;
  document.getElementById('clock').innerHTML = temp;
  setTimeout("ClockTimeZone()",1000);
}
onload = ClockTimeZone;
</SCRIPT>
<div id="clock"></div>

Указывая необходимое смещение, получите текущее время в нужной временной зоне (сервера). Никакого РНР не надо.

   
 
 автор: Norek   (15.02.2008 в 14:56)   письмо автору
 
   для: sim5   (15.02.2008 в 04:12)
 

Спасибо, очень Вам признателен, спасибо за то, что помогли, ноне могли бы Вы ещё помочь с выводом даты на русском языке?
(напр. 15 февраля 2008 года)

   
 
 автор: Fighter   (15.02.2008 в 17:21)   письмо автору
 
   для: Norek   (15.02.2008 в 14:56)
 

Модифицировал предыдущего автора :)))


<SCRIPT Language="JavaScript">
function ClockTimeZone() {
  var TimezoneOffset = 3 // указать нужное смещение по Гринвичу
  var localTime = new Date();
  var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
  var time = new Date(ms);
  var hour = time.getHours();
  var minute = time.getMinutes();
  var second = time.getSeconds();
  
  var day = localTime.getDate();
  var month = localTime.getMonth()+1;
  var year = localTime.getYear();
  
  switch(month)
  {
  case 1: month="Января" ;break;
  case 2: month="Февраля" ;break;
  case 3: month="Марта" ;break;
  case 4: month="Апреля" ;break;
  case 5: month="Мая" ;break;
  case 6: month="Июня" ;break;
  case 7: month="Июля" ;break;
  case 8: month="Августа" ;break;
  case 9: month="Сентября" ;break;
  case 10: month="Октября" ;break;
  case 11: month="Ноября" ;break;
  case 12: month="Декабря" ;break;
  }
  
  var temp = day + " " + month + " " + year + " года | Текущее время " + ((hour < 10) ? "0" : "") + hour;
  temp += ((minute < 10) ? ":0" : ":") + minute;
  temp += ((second < 10) ? ":0" : ":") + second;
  document.getElementById('clock').innerHTML = temp;
  setTimeout("ClockTimeZone()",1000);
}
onload = ClockTimeZone;
</SCRIPT>
<div id="clock"></div>


Можно улучшать и упрощать :) дальше сам решай

   
 
 автор: Norek   (15.02.2008 в 18:08)   письмо автору
 
   для: Fighter   (15.02.2008 в 17:21)
 

Cпасибо, но у вас маленькая ошибочка! Скрипт выводит 108-ой год, не забывайте прибавлять к
localTime.getYear() 1900, чтоб выводило данный год!

   
 
 автор: Fighter   (16.02.2008 в 11:15)   письмо автору
 
   для: Norek   (15.02.2008 в 18:08)
 

Под IE выводит как надо 2008.. я же говорю это простая версия.. дальше сам дописывай и додумывай :)) !

   
Rambler's Top100
вверх

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