php怎么计算今天是今年第几天

如何计算今天是今年第几天

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}天。";

后端开发标签