Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Дата и время (https://javascript.ru/forum/server/28829-data-i-vremya.html)

kilogram 04.06.2012 14:04

Дата и время
 
Код:

<?php ## Работа с временем по GMT.
// Вычисляет timestamp в Гринвиче, который соответствует
// локальному timestamp-форматуузначению.
function local2gm($localStamp=false) {
  if ($localStamp === false) $localStamp = time();
  // Получаем смещение часовой зоны в секундах.
  $tzOffset = date("Z", $localStamp);
  // Вычитаем разницу - получаем время по GMT.
  return $localStamp - $tzOffset;
}

// Вычисляет локальный timestamp в Гринвиче, который
// соответствует timestamp-форматузначению по GMT. Можно указать
// смещение локальной зоны относительно GMT (в часах),
// тогда будет осуществлен перевод в эту зону (а не в текущую локальную).
// (а не в текущую локальную).
function gm2local($gmStamp=false, $tzOffset=false) {
  if ($gmStamp === false) return time();
  // Получаем смещение часовой зоны в секундах.
  if ($tzOffset === false)
    $tzOffset = date("Z", $gmStamp);
  else
    $tzOffset *= 60*60;
  // Вычитаем разницу - получаем время по GMT.
  return $gmStamp + $tzOffset;
}

?>

В книге приводится пример по датам, вот 2 функции.
Подскажите ,как парвильно вызвать чтобы получить результат?
Пробую первую вот так вызвать не получается получить результат.

Код:

local2gm(date('H:i:s'));

walik 04.06.2012 15:02

Может так
date('H:i:s', local2gm());

kilogram 04.06.2012 16:33

Если так
Код:

local2gm(time());
возвращает кол-во секунд прошедших с 1970 года 1 января. А как сделать с 00:00:00 часов этого дня чтоб возвратило кол-во секунд?

kilogram 04.06.2012 18:04

Скажите, так верно?
Код:

echo mktime(0,0,0,6,3,2012)-mktime(0,0,0,0,0,0)

walik 05.06.2012 12:09

Вам нужно узнать сколько секунд прошло с 00:00:00 текущего дня до данного момента ?
Если да, то так:
echo time() - mktime(0,0,0,date('m'),date('d'),date('Y'))


Часовой пояс GMT +3, время: 18:51.