[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разница в часах
paulyudin
Здравствуйте! Помогите ламеру, пожалуйста!

В базе mysql даты хранятся в полях datetime. Стоит 2 задачи:

1) Подсчитать разницу между двумя датами в минутах. Здесь все получилось (потом делю на 60 и получаю минуты):
UNIX_TIMESTAMP(`date1`)-UNIX_TIMESTAMP(`date2`)


2) Подсчитать разницу с текущим временем. Пишу
UNIX_TIMESTAMP(`date1`)-UNIX_TIMESTAMP(NOW()) 

Все работает, но т.к. сервер находится в другой временной зоне время NOW() сдвинуто на 1 час.

Понятно, что можно прибавить 3600 к дате и отнимать, но можно ли как-то считать с учетов сдвига временной зоны? Спасибо! )
Oyeme
Тебе нужно CONVERT_TZ(dt,from_tz,to_tz) функция

Пример

SELECT CONVERT_TZ(NOW(),'+00:00','+10:00')

В timestamp SELECT UNIX_TIMESTAMP(CONVERT_TZ(NOW(),'+00:00','+10:00'));

http://en.wikipedia.org/wiki/Tz_database

Documentation

http://dev.mysql.com/doc/refman/5.5/en/dat...tion_convert-tz
paulyudin
Цитата (Oyeme @ 30.01.2015 - 13:05)
Тебе нужно CONVERT_TZ(dt,from_tz,to_tz) функция

Пример

SELECT CONVERT_TZ(NOW(),'+00:00','+10:00')

В timestamp SELECT UNIX_TIMESTAMP(CONVERT_TZ(NOW(),'+00:00','+10:00'));

http://en.wikipedia.org/wiki/Tz_database

Documentation

http://dev.mysql.com/doc/refman/5.5/en/dat...tion_convert-tz

Спасибо большое! То, что нужно!
sergeiss
Можно так найти разницу между текущим временем локальным и UTC, для любого произвольного сервера:

select TIMESTAMPDIFF( HOUR , UTC_TIMESTAMP() , NOW() )  as utc_offset

А потом уже эту величину использовать.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Valick
Цитата (paulyudin @ 30.01.2015 - 11:47)
В базе mysql даты хранятся в полях datetime.

почему не TIMESTAMP ?

_____________
Стимулятор ~yoomoney - 41001303250491
johniek_comp
Valick
потому что тс ленивый, и не желает переводить время на сервере)

_____________
user posted image
paulyudin
Всем спасибо за ответы! )
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.