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

熟悉并掌握PHP中的时间函数

发布时间:2023-06-24 01:29:35

PHP是一门广泛应用于网络编程的服务器端脚本语言。在PHP中,操作日期和时间的函数有很多,我们通常称之为时间函数。掌握时间函数对于PHP开发人员来说是非常必要的,因为很多业务场景都需要使用时间函数来进行日期和时间的计算、显示、格式化等操作。本文将介绍PHP中常用的时间函数,并对其应用场景进行简要说明。

一、日期和时间基础概念

在介绍时间函数之前,我们需要先了解一些日期和时间的基础概念。在PHP中,我们通常以秒数的形式表示时间。Unix标准时间是指从格林威治标准时间(GMT)1970年1月1日0时0分0秒起经过的秒数。因此Unix时间戳是一个整数,它表示了当前时间与Unix标准时间的秒数差。

在PHP中,我们可以使用time()函数获取当前的Unix时间戳,也可以使用date()函数将Unix时间戳格式化为日期和时间的字符串。

二、常用的时间函数

1. time()函数:获取当前时间的Unix时间戳。

2. date()函数:将Unix时间戳格式化为日期和时间的字符串。

3. strtotime()函数:将指定的日期和时间字符串转换为Unix时间戳。例如:$time = strtotime('2019-01-01 00:00:00');

4. mktime()函数:根据指定的日期和时间创建一个Unix时间戳。例如:$time = mktime(0, 0, 0, 1, 1, 2019);

5. strftime()函数:将Unix时间戳格式化为本地日期和时间的字符串。与date()函数不同的是,strftime()函数可以使用本地化的日期和时间格式。

6. gmstrftime()函数:将Unix时间戳格式化为GMT日期和时间的字符串。与strftime()函数类似,但gmstrftime()函数使用的时区是GMT。

7. getdate()函数:将Unix时间戳转换为数组,并返回包含有关日期和时间的信息。返回的数组包含了年、月、日、小时、分钟、秒、星期几、年的第几天、夏令时等信息。

8. checkdate()函数:验证指定的日期是否合法。如果合法,则返回TRUE,否则返回FALSE。

9. mktime()和date()函数的常用格式参数如下:

| 格式参数 | 说明 |

| --- | --- |

| d | 日,前面无零,1-31 |

| dd | 日,前面有零,01-31 |

| M | 月,英文缩写,Jan-Dec |

| m | 月,前面无零,1-12 |

| mm | 月,前面有零,01-12 |

| y | 年,两位数字 |

| Y | 年,四位数字 |

| H | 小时,24小时制,前面无零,0-23 |

| HH | 小时,24小时制,前面有零,00-23 |

| i | 分钟,前面无零,0-59 |

| ii | 分钟,前面有零,00-59 |

| s | 秒,前面无零,0-59 |

| ss | 秒,前面有零,00-59 |

三、应用场景举例

1. 计算时间差

有时候我们需要计算一段时间的时间差,例如计算两个时间戳之间相差的小时数、分钟数、秒数等。可以通过以下代码实现:

$start_time = strtotime('2019-01-01 00:00:00');
$end_time = strtotime('2019-01-02 00:00:00');
$diff_sec = $end_time - $start_time;
$diff_min = $diff_sec/60;
$diff_hour = $diff_min/60;

2. 显示当前时间

通常我们需要在页面中显示当前时间,可以通过以下代码实现:

$time = time();
echo date('Y-m-d H:i:s', $time);

3. 判断是否是闰年

可以通过以下代码判断指定的年份是否是闰年:

$year = 2020;
if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0) {
  echo $year . '年是闰年';
} else {
  echo $year . '年不是闰年';
}

4. 显示星期几和年的第几天

通过getdate()函数可以获取指定Unix时间戳的日期和时间信息,包括星期几和年的第几天。例如:

$time = time();
$date_info = getdate($time);
$weekday = $date_info['weekday'];
$year_day = $date_info['yday'];
echo '今天是星期' . $weekday . ', 第' . $year_day . '天';

五、总结

本文介绍了PHP中常用的时间函数,包括获取当前时间、格式化时间字符串、转换时间戳等操作。时间函数的应用场景非常广泛,对于PHP开发人员来说非常必要。最后需要注意的是,由于时区的差异,我们在进行时间计算和显示时,需要根据实际情况进行时区调整,以避免出现错误的时间结果。