2012-01-23 2 views
0

Я в настоящее время есть следующий кодПадение Замена для StrToTime() в PHP

$TimelineEvents[$i]["Date"] = date("F j, Y", strtotime($Date)); 

который работает просто отлично ... До тех пор пока вы не хотите хранить дату, до 1 января 1970 года

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

Благодаря Дэнни

ответ

2

Вы можете использовать DateTime class вместо:

$dateTime = new DateTime($Date); 
$TimelineEvents[$i]["Date"] = $dateTime->format('F j, Y'); 
+1

Фантастический, очень похожий на ответ @Tim Cooper, но с совместимостью с версиями PHP ниже 5.3 :) – DanTonyBrown

+0

@DanTonyBrown: Да, PHP иногда расстраивает :( – Ryan

3

Вы должны использовать DateTime класс, который будет соответствовать вашим потребностям:

These functions allow you to get the date and time from the server where your PHP scripts are running. You can use these functions to format the date and time in many different ways.

The date and time information is internally stored as an 64-bit number so all imaginable dates (including negative years) are supported. The range is from about 292 billion years in the past to the same in the future.

Пример:

$date = DateTime::createFromFormat("Y-m-d", $Date); 
$TimelineEvents[$i]["Date"] = $date->format("F j, Y"); 
+2

Мои исходные данные - тип даты MySQL. Например. 2012-12-12. Можете ли вы показать мне примерный код, пожалуйста? – DanTonyBrown

+0

Отличный ответ. Спасибо :) – DanTonyBrown

+0

Черт, получив эту ошибку - Неустранимая ошибка: вызов неопределенного метода DateTime :: createFromFormat() в /hermes/web05/b244/moo.worldwidelighthouses/Timeline.php в строке 43. Похоже, мой хост не поддерживают эту функцию. Редактировать: Любые другие проблемы с аналогичной совместимостью см. Выше. – DanTonyBrown