【问题标题】:how to get the date of the first day of the month in php如何在php中获取每月第一天的日期
【发布时间】:2013-08-07 23:55:56
【问题描述】:

我正在尝试用 PHP 获取每月第一天的日期。

我发现此页面http://www.php.net/manual/en/datetime.formats.relative.php 似乎您可以执行“...的第一天”,但我看不出您如何指定本月。

我还找到了The first day of the current month in php using date_modify as DateTime object,在第二个答案中我看到你可以做到

date('Y-m-01');

后者看起来很简单,但我不明白它是如何指定当前月份的。如果有人可以向我解释这一点,并解释这两种方法的区别,那将是一个很大的帮助!

【问题讨论】:

  • date 的第二个参数的默认值是当前日期。如果用当前时间的年月格式化日期,则将日期硬编码为 01
  • 第一天总是1 它不像月底的一天可以是30,31 有时是28,29

标签: php date


【解决方案1】:

好的,这是我的解释,php date() 函数实际上有两个输入,但一个是可选的。第一个是返回的格式,第二个是您转换为字符串格式日期的时间。如果未设置第二个输入,则假定您的意思是现在,因此所有这些都是相同的:

date('Y-m-d');
date('Y-m-d',time());
date('Y-m-d',strtotime('now'));

因此,当您输入 date('Y-m-01') 时,它会拉动现在的年份和月份,但您并没有使这一天动态化,而是将其强制为 01。所以实际上这就是您正在做的事情:

$date = date('Y-m') . '-01';

当然这是服务器端的,所以它基于服务器的时钟。

【讨论】:

    【解决方案2】:
    $date = new DateTime('first day of this month');
    echo $date->format('Y-m-d');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      相关资源
      最近更新 更多