📜  php 从日期获取日期 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:36.715000             🧑  作者: Mango

PHP:从日期获取日期

在 PHP 中,我们可以使用日期函数来处理日期,比如说从一个日期中获取其中的一部分,或是从已知日期中计算出另一个日期。

获取一些基础信息

首先,获取基础的日期信息(年、月、日、星期几)非常简单。我们可以使用 date() 函数来获取当前时间,或是将日期字符串转换为日期时间戳。

// 获取当前日期信息
echo date('Y-m-d'); // 2021-09-27
echo date('l'); // Monday

// 将日期字符串转换为日期时间戳
$date_str = '2021-09-27';
$timestamp = strtotime($date_str);

echo date('Y', $timestamp); // 2021
echo date('n', $timestamp); // 9
echo date('j', $timestamp); // 27
echo date('N', $timestamp); // 1

上面这段代码中,我们分别使用 date() 函数和 strtotime() 函数获取了当前时间和将日期字符串转换为时间戳。然后,我们通过指定不同的格式,分别获取了年、月、日和星期几等基本信息。

计算两个日期之间的时间差

有时候我们可能需要计算两个日期之间的时间差,比如说计算两个日期之间相隔了多少天、多少周、多少月、多少年等等。PHP 中也提供了相应的函数来完成这个任务。

$date1 = '2021-09-20';
$date2 = '2021-09-27';

// 计算相隔天数
$diff_days = abs(strtotime($date2) - strtotime($date1)) / 86400;
echo '相隔 ' . $diff_days . ' 天';

// 计算相隔周数
$diff_weeks = floor($diff_days / 7);
echo '相隔 ' . $diff_weeks . ' 周';

上面这段代码中,我们计算了两个日期之间相隔的天数和周数。其中,我们使用了 abs() 函数和 /86400,将时间戳转换成天数,然后再使用 floor() 函数取得整数值。

获取指定日期的下一周/下一个月/下一年的日期

有时候我们可能需要根据之前的日期计算出一个之后的日期,比如下一周、下一个月或下一年。PHP 中也提供了相应的函数来完成这个任务。

$date_str = '2021-09-27';

// 获取指定日期的下一周的日期
$next_week = date('Y-m-d', strtotime($date_str . ' +1 week'));

// 获取指定日期的下一个月的日期
$next_month = date('Y-m-d', strtotime($date_str . ' +1 month'));

// 获取指定日期的下一年的日期
$next_year = date('Y-m-d', strtotime($date_str . ' +1 year'));

echo '下一周:' . $next_week;
echo '下一个月:' . $next_month;
echo '下一年:' . $next_year;

上面这段代码中,我们分别计算了指定日期的下一周、下一个月和下一年的日期。其中,我们使用了 strtotime() 函数和 +1 week/month/year,分别添加了一周、一个月和一年的时间。最后,我们将计算出来的日期格式化为字符串输出。

总结

在 PHP 中,我们可以使用日期函数来处理日期,比如从一个日期中获取其中的一部分,或是根据之前的日期计算出另一个日期等等。掌握这些技巧,不仅可以让我们更好地处理日期,也能够提高代码书写的效率。