gpt4 book ai didi

php - Yii2 model->created_date 是 future 的,不会在查询时返回

转载 作者:可可西里 更新时间:2023-11-01 07:39:08 25 4
gpt4 key购买 nike

我已将 Yii->application->configuration->timezone 设置为 UTC 并让模型 attributeBehaviors 插入/更新时间戳自动使用 PHP 的 time() 方法。

问题是,保存到数据库的时间戳是将来的,当我对今天的记录执行搜索查询时,如果它们是在 10 点到午夜之间创建的,则不会返回它们,因为时间戳是实际上是明天。

我应该如何创建记录并执行搜索查询?

谢谢。

最佳答案

看来您在 PHP 和 MySQL 时区之间存在差异。

尝试执行以下操作:

echo date_default_timezone_get() . "<br>";
echo Yii::$app->formatter->timeZone . "<br>";
echo Yii::$app->formatter->defaultTimeZone . "<br>";
echo Yii::$app->db->createCommand('SELECT @@time_zone')->queryScalar() . "<br>";
echo Yii::$app->db->createCommand('SELECT @@system_time_zone')->queryScalar() . "<br>";

(查询是针对 MySQL DBMS,如果您有另一个 - 查询也将是另一个)

当您看到差异时 - 您必须在 PHP 和 MySQL 中设置相同的时区(for PHPfor Yii2)

关于php - Yii2 model->created_date 是 future 的,不会在查询时返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com