Время с сервера

#1 15 января 2015 в 20:19
Есть скрипт отображения времени

  1.  
  2. <style type="text/css">
  3. <!--#clock {
  4. color:#9E9FA1;
  5. margin-left: 10px;
  6. margin-bottom: -10px;
  7. }
  8. -->
  9. </style>
  10. <SCRIPT Language="JavaScript">
  11. function ClockTimeZone() {
  12. var TimezoneOffset = 0 // указать нужное смещение по Гринвичу
  13. var localTime = new Date();
  14. var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
  15. var time = new Date(ms);
  16. var hour = time.getHours();
  17. var minute = time.getMinutes();
  18. var second = time.getSeconds();
  19.  
  20. var mday = localTime.getDay();
  21. var day = localTime.getDate();
  22. var month = localTime.getMonth()+1;
  23. var year = localTime.getFullYear();
  24.  
  25. switch(mday)
  26. {
  27. case 0: mday="Воскресенье" ;break;
  28. case 1: mday="Понедельник" ;break;
  29. case 2: mday="Вторник" ;break;
  30. case 3: mday="Среда" ;break;
  31. case 4: mday="Четверг" ;break;
  32. case 5: mday="Пятница" ;break;
  33. case 6: mday="Суббота" ;break;
  34. }
  35.  
  36. switch(month)
  37. {
  38. case 1: month="Января" ;break;
  39. case 2: month="Февраля" ;break;
  40. case 3: month="Марта" ;break;
  41. case 4: month="Апреля" ;break;
  42. case 5: month="Мая" ;break;
  43. case 6: month="Июня" ;break;
  44. case 7: month="Июля" ;break;
  45. case 8: month="Августа" ;break;
  46. case 9: month="Сентября" ;break;
  47. case 10: month="Октября" ;break;
  48. case 11: month="Ноября" ;break;
  49. case 12: month="Декабря" ;break;
  50. }
  51.  
  52. var today = mday + " " + day + " " + month + " " + year + " года " + ((hour < 10) ? "0" : "") + hour;
  53. today += ((minute < 10) ? ":0" : ":") + minute;
  54. today += ((second < 10) ? ":0" : ":") + second;
  55. document.getElementById('clock').innerHTML = today;
  56. setTimeout("ClockTimeZone()",1000);
  57. }
  58. onload = ClockTimeZone;
  59. </SCRIPT>
  60. <div id="clock"></div>
  61.  
но он берёт время с локального компьютера.
Как сделать чтобы время бралось с сервера хостинга, при загрузке страницы, а далее уже обрабатывалось скриптом?
Пробовал выдернуть время из
  1. date ( ' H : i : s d.n.Y' )
— не получается.
joxi.ru/VrwMvy6tgvgW2X
#2 15 января 2015 в 23:06

Пробовал выдернуть время из — не получается

DELLитант
ничего не понятно из этой фразы — как пробовали и как не получается
#3 15 января 2015 в 23:11


Пробовал выдернуть время из — не получается

DELLитант
ничего не понятно из этой фразы — как пробовали и как не получается

r2

Сделал как под спойлером, но это время с локалки. Если я не ошибаюсь, то date ( ' H: i: s d.n.Y' ) — это отображение времени с сервера. Я пытался спарсить время из date ( ' H: i: s d.n.Y' ) и вставить в скрипт, что показан под спойлером, вот это и не получилось сделать.
#4 15 января 2015 в 23:21

Я пытался спарсить время из date ( ' H: i: s d.n.Y' ) и вставить в скрипт, что показан под спойлером, вот это и не получилось сделать.

DELLитант
понятнее не стало)) пытались спарсить как? и что конкретно не получилось?
функция date — это php-функция, которая выводит значение, например так:
  1. <?php echo date('d.m.Y H:i:s'); ?>
i
#5 15 января 2015 в 23:28


Я пытался спарсить время из date ( ' H: i: s d.n.Y' ) и вставить в скрипт, что показан под спойлером, вот это и не получилось сделать.

DELLитант
понятнее не стало)) пытались спарсить как? и что конкретно не получилось?
функция date — это php-функция, которая выводит значение, например так:
  1. <?php echo date('d.m.Y H:i:s'); ?>
i

r2
Пытался спарсить используя explode, выдало ошибку. Для простоты вопроса: что нужно поменять в скрипте под спойлером (в 1-м посте), чтобы время бралось не с компьютера пользователя, а с сервера хостинга.
#6 15 января 2015 в 23:31
ваш код, кстати, пытается еще и обновлять время каждую секунду, чтобы "часы шли"
если это нужно, то задача не тривиальная
если не нужно, то видимо как-то так:

  1.  
  2. function ClockTimeZone() {
  3.  
  4. var hour = <?php echo date('H'); ?>;
  5. var minute = <?php echo date('i'); ?>
  6. var second = <?php echo date('s'); ?>;
  7.  
  8. var mday = <?php echo date('w'); ?>;
  9. var day = <?php echo date('d'); ?>;
  10. var month = <?php echo date('m'); ?>;
  11. var year = <?php echo date('Y'); ?>;
  12.  
#7 15 января 2015 в 23:33

Пытался спарсить используя explode

DELLитант
explode разбивает строку на части по какому-то символу-разделителю
в строке d.m.Y H:i:s разделителя целых три (точка, пробел, двоеточие)
чтобы использовать explode формат надо было задать с единым разделителем, например
d:m:Y:H:i:s
#8 15 января 2015 в 23:42


ваш код, кстати, пытается еще и обновлять время каждую секунду, чтобы "часы шли"
если это нужно, то задача не тривиальная
если не нужно, то видимо как-то так:

  1.  
  2. function ClockTimeZone() {
  3.  
  4. var hour = <?php echo date('H'); ?>;
  5. var minute = <?php echo date('i'); ?>
  6. var second = <?php echo date('s'); ?>;
  7.  
  8. var mday = <?php echo date('w'); ?>;
  9. var day = <?php echo date('d'); ?>;
  10. var month = <?php echo date('m'); ?>;
  11. var year = <?php echo date('Y'); ?>;
  12.  

r2

Была задумка, чтобы секунды бежали. Я думал, что есть какое-то простое решение, как при загрузке страницы передать время с сервера в скрипт (вместо передаваемого сейчас с локалки).
#9 18 января 2015 в 23:48
Может кто подскажет как решить?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.