删除时间戳的时间部分

Dav*_*eng 17 php datetime timestamp

如何删除时间戳的时间部分?

因此,例如转13105710611310565600这是明摆着的日期戳.

Bra*_*rad 29

strtotime(date("Y-m-d", 1310571061));
Run Code Online (Sandbox Code Playgroud)

那应该为你做.

  • @watcher,将获得当前日期,是的.这不是他在他的例子中提出的问题. (2认同)

Bra*_*rad 27

如果你想要一个数学解决方案:

$time=1310571061;
echo floor($time/86400)*86400;
Run Code Online (Sandbox Code Playgroud)

24小时内有86,400秒(这是典型的一天的长度,但不是全部......见DST).由于我们的时间戳是UTC,这应该不是问题.您可以将其除以一天中的秒数,删除剩余部分,然后再乘以.


xte*_*ore 9

使用DateTime对象会很有帮助,也可以使代码更具可读性......

$dt = new DateTime();
$dt->setTimestamp(1310571061);
echo $dt->format('Y-m-d, H:i:s') . "\r\n";
$dt->setTime(0, 0, 0);
echo $dt->format('Y-m-d, H:i:s');
Run Code Online (Sandbox Code Playgroud)

结果...

2011-07-14,03:31:01

2011-07-14,00:00:00

是否使用原始时间戳或DateTime对象的选择将在很大程度上取决于实现需求,但一般而言,DateTime对象将大大减少可能出现的时间区问题和夏令时问题的混乱和错误.