如何计算今天是今年第几天
1. 日期格式化
在 PHP 中,日期和时间可以通过 date() 函数格式化为字符型输出,其中第一个参数指定格式,第二个参数为可选的时间戳。
$date = date('Y-m-d H:i:s');
echo $date;
其中:
Y 表示四位数年份,如 2021;
m 表示两位数月份,如 09;
d 表示两位数日数,如 15。
我们也可以使用 strtotime() 函数将字符串转换为时间戳。
$date_str = '2021-09-22';
$timestamp = strtotime($date_str);
echo $timestamp;
2. 计算年份和本年天数
首先使用 date() 函数获取来年的年份,并计算本年总天数。
$current_year = date('Y');
$next_year = (int)$current_year + 1;
$year_start = strtotime("$current_year-01-01");
$next_year_start = strtotime("$next_year-01-01");
$days_in_year = ($next_year_start - $year_start) / (60 * 60 * 24);
echo $days_in_year;
3. 计算今天是本年第几天
通过使用 date() 函数获取当前日期的天数和年份,就可以计算出今天是本年的第几天。
$today = date('Ymd');
$year_start = date('Y0101');
$days = (int)($today - $year_start) / 10000 + 1;
echo $days;
完整示例代码
$current_year = date('Y');
$next_year = (int)$current_year + 1;
$year_start = strtotime("$current_year-01-01");
$next_year_start = strtotime("$next_year-01-01");
$days_in_year = ($next_year_start - $year_start) / (60 * 60 * 24);
$today = date('Ymd');
$year_start = date('Y0101');
$days = (int)($today - $year_start) / 10000 + 1;
echo "今天是{$current_year}年的第{$days}天,今年共有{$days_in_year}天。";