如何使用 PHP 查找一个月内的第一个和最后一个日期?

2022-08-30 07:57:42

如何使用 PHP 查找一个月内的第一个和最后一个日期?例如,今天是2010年4月21日;我想找到2010年4月1日和2010年4月30日。


答案 1

最简单的方法是使用 ,它允许您将硬编码的值与从时间戳中提取的值混合。如果不提供时间戳,则它假定为当前日期和时间。date

// Current timestamp is assumed, so these find first and last day of THIS month
$first_day_this_month = date('m-01-Y'); // hard-coded '01' for first day
$last_day_this_month  = date('m-t-Y');

// With timestamp, this gets last day of April 2010
$last_day_april_2010 = date('m-t-Y', strtotime('April 21, 2010'));

date()搜索它给定的字符串,如 ,以获取特定符号,并将其替换为其时间戳中的值。因此,我们可以使用这些符号从时间戳中提取所需的值和格式。在上面的示例中:'m-t-Y'

  • Y为您提供时间戳后的 4 位数年份(“2010”)
  • m为您提供时间戳起的数字月份,前导零 ('04')
  • t为您提供时间戳月份中的天数 ('30')

你可以有创意。例如,要获取一个月的第一秒和最后一秒:

$timestamp    = strtotime('February 2012');
$first_second = date('m-01-Y 00:00:00', $timestamp);
$last_second  = date('m-t-Y 12:59:59', $timestamp); // A leap year!

有关其他符号和更多详细信息,请参阅 http://php.net/manual/en/function.date.php


答案 2

简单的一个

  • Y - 年份的完整数字表示形式,4 位数字
  • m - 月份的数字表示形式,前导零
  • t - 指定月份的天数

参考资料 - http://www.php.net/manual/en/function.date.php

<?php
    echo 'First Date    = ' . date('Y-m-01') . '<br />';
    echo 'Last Date     = ' . date('Y-m-t')  . '<br />';
?>

推荐