调用未定义的方法DateTime :: setTimeStamp()

时间:2012-03-15 10:29:39

标签: php datetime timestamp

我一直在使用setTimeStamp以下列方式将Unix时间戳转换为日期时间:

$startHireConverted = strtotime($startHire); // converts start hire to time
$endHireConverted = strtotime($endHire); // converts end hire to time

$startdt = new DateTime();
$startdt->setTimeStamp($startHireConverted);
$mysql_startdate = $startdt->format("Y-m-d H:i");

这很好用,但是最近我把网站放了,PHP的版本只能是5.2.12,它不支持setTimeStamp方法。

我已经尝试将setTimeStamp更改为格式,这样可以消除错误并转换日期时间,但它会将其更改为当前日期时间 - 由于某种原因而不是存储在$ startHire中的日期而是5小时。

$ startdt->格式($ startHireConverted);

有关如何解决此问题的任何想法?

$ startHire以datetime的字符串版本开头。

三江源

1 个答案:

答案 0 :(得分:4)

我认为您根本不需要使用unix时间戳执行该步骤:

$startdt = new DateTime($startHire);

PHP手册:DateTime::__construct

但这可能取决于您获得的格式$startHire。请参阅Supported Date and Time Formats