【问题标题】:Typo3 DateTime setter issueTypo3 日期时间设置器问题
【发布时间】:2015-08-19 10:29:10
【问题描述】:

我的约会模型有一个数据类型为 DateTime 的值 $created。但由于某种原因,我无法设置 $created 值。

我尝试了许多格式,但它不会设置值。当函数到达 setCreated() 时,它会卡住。 (所有其他值(整数、字符串)都设置成功,只是这个 \DateTime var 没有)

$appointment->setCreated('1439878630');  //Doesn't work
$appointment->setCreated(1439878630);    //Doesn't work  
$appointment->setCreated('1990-11-14T15:32:12+00:00'); //Doesn't work
$appointment->setCreated('1990-11-14 15:32:12'); //Doesn't work

我的设置方法:

 /**
 * Sets the created
 *
 * @param \DateTime $created
 * @return void
 */

public function setCreated(\DateTime $created) {
    $this->created = $created;
}

如何使用时间戳(或任何其他日期格式)设置 $created 值? 任何帮助表示赞赏! 感谢您的努力。

【问题讨论】:

    标签: php datetime typo3 extbase


    【解决方案1】:

    setCreated-方法需要DateTime 对象,而不是字符串。所以给它一个:

    $appointment->setCreated(new \DateTime('<insert your date string here>'));
    

    接受的时间字符串列表可以在PHP documentation中找到。

    【讨论】:

    • 就像一个魅力。你真的让我很开心。谢谢你! p.s. \DateTime 初始化接受哪种数据类型?只有日期字符串还是我可以只传递一个时间戳???
    【解决方案2】:

    你可以试试这个吗?它应该可以工作...

    $appointment->setCreated(new \DateTime('1990-11-14T15:32:12+00:00'));
    

    【讨论】:

    • 是的...我没有看到他的回答。很高兴它解决了您的问题。
    【解决方案3】:

    你试过了吗:

    $appointment->setCreated('1990-11-14 15:32:12');
    

    【讨论】:

    • 是的——同样的问题。尝试了php.net/manual/de/class.datetime.php 中描述的多种日期时间格式,但没有成功。
    • 我总是喜欢毫无根据地投反对票......人们至少可以证明,所以人们可以改进答案。
    • 我刚刚投了赞成票,所以你的帖子是 0。好吧,我也不明白为什么人们只是投反对票。只要不是绝对的混乱,就不应该这样做。感谢您的支持和努力!
    • @d4ny3l 这不是必需的,但谢谢。当我添加此建议时,您的问题没有该选项,但现在您有了。也许这就是为什么有人投反对票的原因......
    猜你喜欢
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多