将PHP时间戳更改为日期,将时间更改为日期00:00:00

将PHP时间戳更改为日期,将时间更改为日期00:00:00,php,timestamp,Php,Timestamp,我的数据库中有一些带有日期和时间的时间戳,我想将它们转换为带有日期的时间戳,并将时间设置为00:00:00。我该怎么做?我试过几个代码,但都不懂 例如,我想要时间戳: 1615804200至1615766400 或 正如Sammitch在评论中指出的那样,1619019000到1618963200可以使用 快速示例: // Create DateTime from Unix timestamp 1615804200. $date = new DateTime(); $date->setTi

我的数据库中有一些带有日期和时间的时间戳,我想将它们转换为带有日期的时间戳,并将时间设置为00:00:00。我该怎么做?我试过几个代码,但都不懂

例如,我想要时间戳:

1615804200至1615766400 或 正如Sammitch在评论中指出的那样,1619019000到1618963200可以使用

快速示例:

// Create DateTime from Unix timestamp 1615804200.
$date = new DateTime();
$date->setTimestamp(1615804200);
// Reset hours, minutes and seconds to zero.
$date->setTime(0, 0, 0);
// echo new timestamp
echo $date->getTimestamp();

返回的实际时间戳可能取决于PHP环境使用的时间戳。

预计UTC时区的时间戳1615766400和1618963200为00:00。要审查的示例:

date_default_timezone_set('UTC');

echo date('Y-m-d H:i:s',1615766400);
//2021-03-15 00:00:00
对于这个简单的例子,我们可以从时间戳中减去一天86400秒除法的剩余部分

$ts = 1615804200;
$tsMidnight = $ts-$ts%86400; 
echo $tsMidnight; //1615766400

$ts = 1619019000;
$tsMidnight = $ts-$ts%86400; 
echo $tsMidnight; //1618963200

提问时,最好分享你的尝试。这样我们可以指出你哪里出了问题,你可以学到一些东西。