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

日期时间处理函数

发布时间:2023-06-16 05:38:16

在工作中,我们常常需要处理日期时间相关的操作,如求出日期时间的差,格式化日期时间,获取某个时间点之前或之后的日期时间等。这时候就需要用到日期时间处理函数了。

1. date()

date()函数用于将一个日期时间戳格式化成指定的日期时间字符串。它的常用语法如下:

date(string $format [, int $timestamp = time() ])

其中,$format参数表示所需要输出的日期时间字符串格式,$timestamp参数是可选的,表示要格式化的日期时间戳,如果不传递该参数,则默认为当前时间戳。

例如:

echo date('Y-m-d H:i:s'); // 输出当前日期时间字符串:2022-01-01 12:00:00

echo date('l', strtotime('2022-01-01')); // 输出星期六

2. strtotime()

strtotime()函数用于将一个日期时间字符串转换成对应的时间戳。它的语法如下:

strtotime(string $time [, int $now = time() ])

其中,$time参数表示要转换成时间戳的日期时间字符串,$now参数是可选的,表示参照时间戳,如果不传递该参数,则默认为当前时间戳。

例如:

echo strtotime('2022-01-01 12:00:00'); // 输出日期时间戳:1641043200

echo strtotime('1 day', strtotime('2022-01-01')); // 输出2022-01-02的时间戳

3. time()

time()函数用于获取当前的Unix时间戳。它没有参数,直接调用即可。

例如:

echo time(); // 输出当前的Unix时间戳:1641043200

4. mktime()

mktime()函数用于根据指定的年、月、日、时、分、秒来生成一个Unix时间戳。它的语法如下:

mktime(int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst = -1 ]]]]]]])

其中,$hour、$minute、$second参数表示时、分、秒,$month、$day、$year参数表示年、月、日,$is_dst参数表示是否进行夏令时调整,该参数是可选的,它的默认值是-1,表示自动判断。

例如:

echo mktime(0, 0, 0, 1, 1, 2022); // 输出2022-01-01的Unix时间戳

echo mktime(0, 0, 0, date('n'), 1, date('Y')); // 输出当前月份的第一天的Unix时间戳

5. date_diff()

date_diff()函数用于计算两个日期时间之间的差值。它的语法如下:

date_diff(DateTimeInterface $datetime1, DateTimeInterface $datetime2 [, bool $absolute = false ])

其中,$datetime1、$datetime2参数表示两个日期时间对象,$absolute参数表示是否输出绝对值。

例如:

$date1 = date_create('2022-01-01');

$date2 = date_create('2022-01-05');

$diff = date_diff($date1, $date2);

echo $diff->days; // 输出4,即两个日期时间之间相差的天数

6. date_add()

date_add()函数用于在指定的日期时间上增加一段时间间隔。它的语法如下:

date_add(DateTimeInterface $object, DateInterval $interval)

其中,$object参数表示要增加时间间隔的日期时间对象,$interval参数表示要增加的时间间隔。

例如:

$date = date_create('2022-01-01');

$interval = new DateInterval('P1D');

date_add($date, $interval); // 在$date上增加1天

echo date_format($date, 'Y-m-d'); // 输出2022-01-02

7. date_sub()

date_sub()函数用于在指定的日期时间上减少一段时间间隔。它的语法与date_add()类似。

例如:

$date = date_create('2022-01-01');

$interval = new DateInterval('P1D');

date_sub($date, $interval); // 在$date上减少1天

echo date_format($date, 'Y-m-d'); // 输出2021-12-31

综上所述,日期时间处理函数是开发中必不可少的工具,熟练掌握常用的日期时间处理函数,能够快速完成日期时间相关的操作,提高开发效率。