Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2012, 14:13   #1
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию Дата и время

Код:
<?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'));
kilogram вне форума Ответить с цитированием
Старый 04.06.2012, 14:42   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от kilogram Посмотреть сообщение
Пробую первую вот так вызвать не получается получить результат.
Код:
local2gm(date('H:i:s'));
Из определения самой функции очевидно, что передаваемый аргумент должен быть значением временной метки Unix:
PHP код:
if ($localStamp === false$localStamp time(); 
Andkorol вне форума Ответить с цитированием
Старый 04.06.2012, 15:11   #3
kilogram
Форумчанин
 
Регистрация: 04.03.2012
Сообщений: 144
По умолчанию

Если так
Код:
local2gm(time());
возвращает кол-во секунд прошедших с 1970 года 1 января. А как сделать с 00:00:00 часов этого дня чтоб возвратило кол-во секунд?
kilogram вне форума Ответить с цитированием
Старый 04.06.2012, 15:17   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

смотри mktime() с параметрами .... а вообще не очень цель функции понятна
ADSoft вне форума Ответить с цитированием
Старый 05.06.2012, 00:39   #5
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Код:
strtotime("today")
А вообще читаем оф мануал про объект DateTime, там уже давно за вас написали весь функционал для работы со смещениями часовых поясов, интервалами и расчетом разницы времен.
Cronos20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
дата/время Freek123 C# (си шарп) 2 27.10.2011 09:38
Время и дата Rebelition HTML и CSS 4 17.08.2011 23:05
Дата и время soulbringer Microsoft Office Access 2 29.10.2010 12:50
Время и дата adja051 Помощь студентам 2 09.10.2010 12:15