Проблема с strtotime()...

Patrul

Новичок
Проблема с strtotime()...

После переноса хостером сайта на другой сервер появилась проблема с переводом времени функцией strtotime()
Функция как-то странно учитывает изменение месяца и года.
Подскажите, пожалуйста, в чем может быть проблема, может кто сталкивался?

PHP:
echo "15-11-2007: ".strtotime(date("15-11-2007"))."<br>";
echo "16-11-2007: ".strtotime(date("16-11-2007"))."<br>";
echo "17-11-2007: ".strtotime(date("17-11-2007"))."<br>";

echo "15-12-2007: ".strtotime(date("15-12-2007"))."<br>";
echo "16-12-2007: ".strtotime(date("16-12-2007"))."<br>";
echo "17-12-2007: ".strtotime(date("17-12-2007"))."<br>";

echo "15-12-2008: ".strtotime(date("15-12-2007"))."<br>";
echo "16-12-2008: ".strtotime(date("16-12-2007"))."<br>";
echo "17-12-2008: ".strtotime(date("17-12-2007"))."<br>";
Вот результат выполнения:
15-11-2007: 1619640000
16-11-2007: 1651262400
17-11-2007: 1682798400
15-12-2007: 1622232000
16-12-2007: 1653854400
17-12-2007: 1685390400
15-12-2008: 1622232000
16-12-2008: 1653854400
17-12-2008: 1685390400
 

Фанат

oncle terrible
Команда форума
блин как вы запарили со своей strtotime
РУКАМИ НАДО УМЕТЬ ДАТУ КОНВЕРТИРОВАТЬ!

date("15-11-2007") - ЭТО ЧТО ЕЩЁ ЗА БРЕД СИВОЙ КОБЫЛЫ?

-~{}~ 17.11.07 11:20:

С какой радости ты вообще ей суёшь дату в идиотскои формате 15-11-2007?
Почему цифры слева и справа не совпадают?

похмеляться надо!
 

Patrul

Новичок
сорри, туплю :(

PHP:
echo strtotime(date("d-m-Y H:i:s"))."<br>";
echo strtotime("01-12-2007 00:00:00");
Результаты:

на старом сервере:
1195288880
1196460000

на новом:
1682840230
1180468800

Или опять что-то не так написал?

====================
Разобрался спасибо Nelius за "GNU Date Input Formats"

*****, не ругайся... я не пью, я мало сплю :(
 

Фанат

oncle terrible
Команда форума
не надо пользоваться strtotime вообще.
это ненужная функция.
сделана для совсем уж безруких детей, которые даже одну строчку кода написать не могут.
 

Patrul

Новичок
может я из них ;)
Разобрался с форматом даты. Тему закройте, пожалуйста :)
 

Фанат

oncle terrible
Команда форума
С ЧЕМ ТЫ РАЗОБРАЛСЯ?
теперь будешь из строки 01-12-2007 клепать строку 2007-12-01?!
ты можешь объяснить - на кой тебе вообще из строки формата 01-12-2007 понадобилось получать таймстамп?
 

Beavis

Banned
обычно просто достаточно получить из БД не строку с датой а уже готовый timestamp (если конечно даты берутся оттуда)
 

Фанат

oncle terrible
Команда форума
явно не из базы.
в базе оно лежит в другом формате
 

Patrul

Новичок
не из базы, ее нет на хостинге.
Мне нужно сравнивать текущую дату с заданной и при достижении заданной даты прекратить вывод информации.
 

Фанат

oncle terrible
Команда форума
ну и нафига тебе для этого strtotime?
дата - это строка. тебе надо сравнить две строки. зачем тебе число понадобилось, можешь объяснить?
 

dimagolov

Новичок
*****, наверное потому, что сравнить две строки, которые представляют дату (без контроля как дата представлена) можно только на равенство, на больше-меньше нужно чтобы дата была в формате ГГГГ-ММ-ДД, тогда только лексикографический порядок покатит
 

SiMM

Новичок
А для strtotime - не нужна и он с лёгкостью определит, что 01-12-2007 и 12-01-2007 на самом деле одна и та же дата? Хорошо, тогда какая - 1 декабря или 12 января?
 

Patrul

Новичок
Я не понимаю чем Вам не нравится вариант сравнения двух чисел?
PHP:
If (strtotime(date("Y-m-d H:i:s")) <= strtotime("2007-12-15 00:00:00"))
Чем легче или проще сравнивать строки?
Меня вполне устраивает этот вариант, просто не знал форматов написания даты.
 

Фанат

oncle terrible
Команда форума
тем, что strtotime в этом выражении не нужна.
о чем я сказал с самого начала.
 
Сверху