【问题标题】:PHP Date Function Seven days previousPHP 日期函数 7 天前
【发布时间】:2012-05-29 11:27:50
【问题描述】:

我正在尝试使用 PHP 的日期函数以 YYYY-MM-DD 格式获取 7 天前的日期。

date('Y-m-d');

当我尝试时

date('Y-m-d-7');

我得到一个错误

【问题讨论】:

  • 使用date('Y-m-d', strtodate('-7 days'))
  • @Gavin 调用未定义函数 strtodate()
  • 函数是strtotime
  • 道歉,很好,date('Y-m-d', strtotime('-7 days'))

标签: php date


【解决方案1】:

使用PHP提供的strtotime方法。

date('Y-m-d', strtotime('-7 days'))

感谢@lonesomeday 指出我在 cmets 中的错误;)

【讨论】:

  • 你如何得到它的小时分钟和秒...我不能让它与'Y-m-d H:i:s'一起工作
  • 嘿@Matthew - 以下对我来说很好echo date('Y-m-d H:i:s', strtotime('-7 days')); 返回2017-01-02 08:37:51 - 你得到了什么?
  • 加文,谢谢,我搞定了。我不知道我做错了什么,我什至不记得了。感谢您确认。谢谢。
【解决方案2】:

有了这个,就像所有 PHP 日期的东西一样,使用 DateTime 类会更好。

$date = new DateTime('7 days ago');
echo $date->format('Y-m-d');

【讨论】:

  • 有没有什么办法我不会在一行中做到这一点?因为我将它插入到查询中
  • 那么你在什么查询中插入它? SQL?
  • @HarshaMV 如果您必须在一行中完成,请使用 Gavin 的答案。不过,我怀疑你真的需要这样做。
  • @Harsha M V 你可以在一行中完成:echo (new DateTime('7 days ago'))->format('Y-m-d');
【解决方案3】:

使用 strtotime

date("Y-m-d", strtotime('-7 days'))

或者

date("Y-m-d", time() - 60 * 60 * 24 * 7);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    • 2015-07-26
    • 2012-04-29
    • 2018-10-25
    相关资源
    最近更新 更多