如何删除时间戳的时间部分?
例如,将1310571061
转换为1310565600
,这是一个简单的日期时间戳。
strtotime(date("Y-m-d", 1310571061));
这应该对你有用。
如果您想要一个数学解决方案:
$time=1310571061;
echo floor($time/86400)*86400;
24小时内有86400秒(这是典型一天的长度,但不是全部…请参阅夏令时(。由于我们的时间戳是UTC,这应该不是问题。你可以把它除以一天中的秒数,去掉余数,再乘回来。
使用DateTime对象会很有帮助,还可以使代码更可读。。。
$dt = new DateTime();
$dt->setTimestamp(1310571061);
echo $dt->format('Y-m-d, H:i:s') . "rn";
$dt->setTime(0, 0, 0);
echo $dt->format('Y-m-d, H:i:s');
结果。。。
2011年7月14日03:31:01
2011年7月14日00:00:00
选择是使用原始时间戳还是使用DateTime对象在很大程度上取决于实现需求,但一般来说,DateTime对象将大大减少可能出现的混乱和错误,尤其是在时区问题和夏令时问题上。
尝试:
<?php
$ts = '1310571061';
echo strtotime(date('Y-m-d 00:00:00', $ts));
?>
$pubdate='2003-02-19T00:00:00.000-05:00';
$da = strtotime($pubdate);
echo $dat = date('Y-m-d', $da);
答案是:"2003-02-19">
谢谢
你可以做:
$date = strotime(date("y/m/d", $timestamp));
这是我通常要做的:
your_timestamp = pd.to_datetime(your_timestamp.strftime(format="%x"))
函数strftime
将把your_timestamp
转换为不带时间分量的字符串。然后函数pd.to_datetime
将把它转换回没有时间分量的Timestamp
。