在我的Worpdress站点中,我使用函数current time以MySQL时间戳数据类型格式返回当前日期。
我的目标是对结果进行一些操作(比如减去1天)。我在网上找到date_sub
,但要求是其参数应为DateTime
类型。
警告:date_sub()期望参数1为DateTime,字符串在第107行的C:\ xampp \ htdocs \ blog \ wp-content \ themes \ twentyten \ header.php中给出
如何对MySQL时间戳数据类型格式执行减法,或者是否存在以DataTime
格式返回当前日期的Worpdress函数?
总是感谢你的帮助。
答案 0 :(得分:1)
PHP日期函数可以以您想要的任何格式返回日期。
$datetime = date('Y-m-d H:i:s', time() - (1 * 86400));
这将在unix中产生一些时间并且需要一天时间。 如果作为第二个参数日期函数输入,它将以该格式转换。
$a_day_ago = time() - (1 * 86400);
http://php.net/manual/en/function.date.php
如果您希望直接在MySQL中执行此操作。
日期和时间:
NOW() - INTERVAL 1 DAY
刚出日期:
CURDATE() - INTERVAL 1 DAY
答案 1 :(得分:1)
我认为你正在寻找:
<?php
function longdate($timestamp)
{
return date("l F jS Y", $timestamp);
}
?>
如果您需要在17天前打印出日期,那么现在就是 必须发出以下电话:
echo longdate(time() - 17 * 24 * 60 * 60);
传递给longdate当前的Unix时间戳减去自之后的秒数 17天前(17天×24小时×60分钟×60秒)。
答案 2 :(得分:1)
这样的事情应该有效:
$date = new DateTime();
$date->sub(new DateInterval("P1D"));
echo $date->format("Y-m-d H:i:s");
如果您不熟悉它,您应该查看PHP SPL日期/时间类。它们非常有用,使这种类型的东西变得非常容易。