【问题标题】:Call to undefined method DateTime::setTimeStamp()调用未定义的方法 DateTime::setTimeStamp()
【发布时间】:2012-03-15 10:29:38
【问题描述】:

我一直在使用 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 更改为消除错误并转换日期时间的格式,但由于某种原因它正在将其更改为当前日期时间 - 5 小时,而不是存储在 $startHire 中的日期。

$startdt->格式($startHireConverted);

关于如何解决这个问题的任何想法?

$startHire 一开始是日期时间的字符串版本。

谢谢

【问题讨论】:

    标签: php datetime timestamp


    【解决方案1】:

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

    $startdt = new DateTime($startHire);
    

    PHP 手册:DateTime::__construct

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

    【讨论】:

    • 我相信 $startHire 是 datetime 的字符串版本
    • 如果它与strtotime一起工作,它将与DateTime构造函数一起工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2023-03-21
    • 1970-01-01
    • 2013-02-26
    • 2012-07-27
    • 2019-10-25
    • 2018-07-11
    相关资源
    最近更新 更多