Время + локаль

ГенГрум

Новичок
Как работать со временем?

Есть время в текстовой форме 26.09.20011
При переводе в UNIX strtotime (26.09.20011) можем получить любое число в зависимости от локали.

Как получить UNIX TIMESTAMP без локали?

Суть проблемы:
Я локально в денвере забил часть бд, затем выложил бд на хост и получил разницу в 4 часа. Пользовался strtotime + date.
 

ГенГрум

Новичок
Я получаю 26.09.2011
Храню в UNIX TIMESTAMP, но
strtotime (26.09.2011), для разных зон - разные числа.
 

ГенГрум

Новичок
Смешно :)))
А если а перейду на другой хост, тоже вычислять и прибавлять? А при работе с БД локально отнимать?
Должен быть метод работы со временем без локали.
 

Вурдалак

Продвинутый новичок
Ты сам убедился, что в строке «26.09.2011» не содержится информации о временной зоне, поэтому ты должен каким-то образом её хранить отдельно. Если ты уже получил дату в таком виде, то ничего сделать нельзя.
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Ты сам убедился, что в строке «26.09.2011» не содержится информации о временной зоне, поэтому ты должен каким-то образом её хранить отдельно. Если ты уже получил дату в таком виде, то ничего сделать нельзя.
Более того, там вообще нет информации о времени, и под эту дату попадает в timestamp диапазон в 86400 секунд. И еще есть смещение по временной зоне, да.
 

Redjik

Джедай-мастер
в модексе в админке настраивается смещение кстати...
 

ГенГрум

Новичок
Еще раз.
Я получил дату в строковом виде В БД лучше хранить в числовом.
При переводе из строкового вида в числовой strtotime (26.09.20011) при установленой в php локале

для Киева
PHP:
date_default_timezone_set('Europe/Kiev');
strtotime("26.09.2011"))=1316991600;
для лондона
PHP:
date_default_timezone_set('Europe/London');
strtotime("26.09.2011"))=1316970000;
А без установки локали вообще что PHP захочет.

Вот я и спрашиваю как получить одно число для strtotime("26.09.2011")) в любой зоне. То есть без учета локали.
 

SiZE

Новичок
В твоем случае сервер на котором ты заполняешь информацию должен знать локаль сервера на который она будет выложена. Иначе никак имхо.

P.S. Как вариант ты можешь хранить с полем даты, новое поле GMT при котором была эта дата добавлена. И соответственно преобразовывать дату при выводе.
 
Сверху