PHP中常用的日期和时间处理函数介绍:date()、time()、strtotime()等!
在PHP开发中,我们经常需要对日期和时间进行处理,例如获取当前日期、将日期格式化、计算两个日期之间的间隔等。下面介绍几个常用的日期和时间处理函数。
1. date()
date() 函数用于将时间戳格式化为可读性更好的日期字符串。
**语法:**
string date ( string $format [, int $timestamp = time() ] )
**参数:**
- format:必需。规定时间戳格式化的方式。
- timestamp:可选。规定要格式化的时间戳。默认值是当前时间。
**示例:**
echo date("Y-m-d H:i:s"); // 输出当前时间,格式为年-月-日 时:分:秒
在 format 参数中可以使用各种格式化字符来指定输出的格式,例如:
- Y:四位数字的年份
- m:两位数字的月份(01 到 12)
- d:两位数字的日期(01 到 31)
- H:24 小时制的小时数(00 到 23)
- i:分钟数(00 到 59)
- s:秒数(00 到 59)
- w:星期中的第几天(0 表示星期天,1 表示星期一,以此类推)
更多格式化字符请参考PHP官方文档。
2. time()
time() 函数用于获取当前的 Unix 时间戳。
**语法:**
int time ( void )
**示例:**
echo time(); // 输出当前时间的 Unix 时间戳
Unix 时间戳是指从 1970 年 1 月 1 日 0 时 0 分 0 秒开始到当前的秒数。
3. strtotime()
strtotime() 函数用于将符合英文文本日期格式或时间格式的字符串转换为 Unix 时间戳。
**语法:**
int strtotime ( string $datetime [, int $now = time() ] )
**参数:**
- datetime:必需。表示日期或时间的字符串。
- now:可选。规定时间戳的基准值。默认为当前时间。
**示例:**
echo strtotime("now"); // 输出当前时间的 Unix 时间戳
echo strtotime("2022-01-01"); // 输出2022年1月1日 0时0分0秒的 Unix 时间戳
echo strtotime("+1 day"); // 输出明天同一时刻的 Unix 时间戳
4. mktime()
mktime() 函数用于根据给定的时间生成 Unix 时间戳。
**语法:**
int mktime ( [ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst = -1 ]]]]]]] )
**参数:**
- hour:必需。表示小时数,介于 0 到 23 之间。
- minute:必需。表示分钟数,介于 0 到 59 之间。
- second:必需。表示秒数,介于 0 到 59 之间。
- month:必需。表示月份,介于 1 到 12 之间。
- day:必需。表示日期,介于 1 到 31 之间。
- year:必需。表示年份,介于 1970 到 2038 之间。
- is_dst:可选。表示夏令时的设置。-1 表示由 PHP 自动设置,0 表示不使用夏令时,1 表示使用夏令时。
**示例:**
echo mktime(0, 0, 0, 1, 1, 2022); // 输出2022年1月1日 0时0分0秒的 Unix 时间戳
5. date_diff()
date_diff() 函数用于计算两个日期之间的时间间隔。
**语法:**
DateInterval date_diff ( DateTimeInterface $datetime1 , DateTimeInterface $datetime2 [, bool $absolute = false ] )
**参数:**
- datetime1:必需。第一个日期对象。
- datetime2:必需。第二个日期对象。
- absolute:可选。指定是否返回绝对值。
**示例:**
$date1 = new DateTime("2022-01-01");
$date2 = new DateTime("2022-02-01");
$interval = date_diff($date1, $date2);
echo $interval->format('%a days'); // 输出31天
6. strtotime() 和 date()组合使用示例
$date_str = "2022-11-23";
$date = date("Y-m-d", strtotime($date_str));
echo $date; // 输出:2022-11-23
上面的代码将用 strtotime() 函数将日期字符串转换成时间戳,然后用 date() 函数将时间戳格式化成指定的日期字符串。
总结:以上是常用的日期和时间处理函数的介绍。这些函数在我们的日常开发中使用频率非常高,掌握它们对于进行日期和时间处理功能的开发至关重要。
