欢迎访问宙启技术站
智能推送

日期和时间函数:学习PHP日期和时间处理

发布时间:2023-06-24 16:11:17

日期和时间是我们日常生活中常见的事物。在编程中,我们也需要对日期和时间进行处理。PHP提供了许多内置的日期和时间函数,使得处理日期和时间变得非常容易。

获取当前时间

要获取当前时间,我们可以使用内置函数date()。该函数接受一个格式化字符串作为参数,返回格式化后的当前日期和时间。例如:

echo date('Y-m-d H:i:s');

这将输出当前时间的年、月、日、时、分和秒,格式为"YYYY-MM-DD HH:MM:SS"。

格式化日期和时间

除了上面例子中使用的格式外,date()的格式化字符串中还有许多其他选项。以下是一些常用的选项:

- Y:4位数的年份

- y:2位数的年份

- m:带前导零的月份(01-12)

- n:不带前导零的月份(1-12)

- M:3个字母的月份名称(Jan-Dec)

- F:完整的月份名称(January-December)

- d:带前导零的日期(01-31)

- j:不带前导零的日期(1-31)

- D:3个字母的星期几名称(Mon-Sun)

- l:完整的星期几名称(Monday-Sunday)

- H:带前导零的小时数(00-23)

- h:不带前导零的小时数(1-12)

- i:带前导零的分钟数(00-59)

- s:带前导零的秒数(00-59)

- a:小写的上午/下午(am/pm)

- A:大写的上午/下午(AM/PM)

例如:

echo date('Y-m-d H:i:s'); // 2021-07-06 16:43:29
echo date('Y年m月d日 H:i:s'); // 2021年07月06日 16:43:29
echo date('D, j F Y'); // Tue, 6 July 2021

字符串转时间戳

时间戳是一个表示时间的整数值,通常是从Unix纪元(1970年1月1日00:00:00 UTC)开始计算的秒数。可以使用strtotime()函数将字符串转换为时间戳。例如:

$timestamp = strtotime('2021-07-06 16:47:00');
echo $timestamp; // 1625554020

时间戳转字符串

可以使用date()函数将时间戳转换为格式化后的字符串。例如:

$timestamp = 1625554020;
echo date('Y-m-d H:i:s', $timestamp); // 2021-07-06 16:47:00

还可以使用strftime()函数按照本地化的格式输出时间戳。例如:

$timestamp = 1625554020;
setlocale(LC_TIME, "zh_CN.utf8"); // 设置语言环境为中文
echo strftime("%Y年%m月%d日 %H时%M分%S秒", $timestamp); // 2021年07月06日 16时47分00秒

日期计算

PHP还提供了许多日期计算函数。以下是一些常用的函数:

- strtotime():返回给定时间字符串的时间戳。例如:strtotime('+1 day');将返回当前时间加上一天的时间戳。

- date_add():将指定的时间间隔添加到日期。例如:date_add($date, date_interval_create_from_date_string('1 day'));将给定日期加上一天。

- date_diff():返回两个日期的差异。例如:$diff = date_diff($date1, $date2);将返回$date1和$date2之间的时间差。

总结

日期和时间处理在PHP中非常重要,可以通过内置函数来轻松处理。使用date()函数将日期格式化为字符串,使用strtotime()函数将字符串转换为时间戳,使用date_add()date_diff()函数进行日期计算。