如何删除时间戳的时间部分?
例如,将1310571061
转为1310565600
这是明确的日期时间戳。
答案 0 :(得分:27)
strtotime(date("Y-m-d", 1310571061));
那应该为你做。
答案 1 :(得分:27)
如果你想要一个数学解决方案:
$time=1310571061;
echo floor($time/86400)*86400;
24小时内有86,400秒(这是典型日的长度,但不是全部......请参阅夏令时)。由于我们的时间戳是UTC,这应该不是问题。您可以将其除以一天中的秒数,删除剩余部分,然后再乘以。
答案 2 :(得分: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');
结果...
2011-07-14,03:31:01
2011-07-14,00:00:00
是否使用原始时间戳或DateTime对象的选择将在很大程度上取决于实现需求,但一般而言,DateTime对象将大大减少混乱和错误,尤其是在时区问题和夏令时之间。的问题。
答案 3 :(得分:4)
尝试:
<?php
$ts = '1310571061';
echo strtotime(date('Y-m-d 00:00:00', $ts));
?>
答案 4 :(得分:3)
$pubdate='2003-02-19T00:00:00.000-05:00';
$da = strtotime($pubdate);
echo $dat = date('Y-m-d', $da);
答案如下:“2003-02-19”
谢谢
答案 5 :(得分:1)
你可以这样做:
$date = strotime(date("y/m/d", $timestamp));
答案 6 :(得分:1)
这是我通常要做的:
your_timestamp = pd.to_datetime(your_timestamp.strftime(format="%x"))
函数strftime
将your_timestamp
转换为没有时间成分的字符串。然后函数pd.to_datetime
会将其转换回Timestamp
,而没有时间分量。