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

PHP的日期和时间函数:10种用法

发布时间:2023-06-25 14:32:10

PHP是一种广泛使用的服务器端编程语言,它提供了丰富的日期和时间函数,使得日期和时间的处理变得更加简单和便捷。本文将介绍10种常用的PHP日期和时间函数,并提供具体的用法和示例。

1. date()函数

date()函数可以用来获取当前日期和时间,并按照指定的格式进行格式化。下面是该函数的基本语法:

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

其中,format参数是一个字符串,用于指定日期和时间的格式,timestamp参数是一个可选的时间戳,用于指定日期和时间的起始时间。下面是一些常见的format参数:

- Y:表示年份,如2022

- m:表示月份,如01

- d:表示日期,如01

- H:表示小时,用于24小时制,如23

- i:表示分钟,如59

- s:表示秒钟,如59

下面是一些实例:

echo date("Y-m-d"); //输出当前日期,格式为2022-01-01
echo date("H:i:s"); //输出当前时间,格式为23:59:59

2. time()函数

time()函数用于获取当前时间戳,即从1970年1月1日到当前时间的秒数。该函数没有参数。下面是一个实例:

echo time(); //输出当前时间戳,如1641129591

3. strtotime()函数

strtotime()函数用于将日期字符串转换成时间戳。下面是该函数的基本语法:

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

其中,time参数是一个日期字符串,now参数是一个可选的时间戳,用于指定时间的起始时间。如果转换成功,则返回时间戳,否则返回false。

下面是一些实例:

echo strtotime("2022-01-01");    //输出2022年1月1日的时间戳
echo strtotime("now");           //输出当前时间的时间戳
echo strtotime("+1 day");        //输出明天的时间戳

4. mktime()函数

mktime()函数用于根据指定的时、分、秒、月、日、年等参数创建一个时间戳。下面是该函数的基本语法:

mktime ( [ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] ) : int

其中,hour、minute和second参数分别表示时、分和秒,可选参数。month、day和year参数分别表示月、日和年,必须指定。is_dst参数用于指定是否考虑夏令时的影响,可选参数。返回值是一个时间戳。

下面是一些实例:

echo mktime(0, 0, 0, 1, 1, 2022);    //输出2022年1月1日的时间戳
echo mktime(0, 0, 0);               //输出今天的时间戳
echo mktime(0, 0, 0, 1, 2, 2022);    //输出2022年1月2日的时间戳

5. strrpos()函数

strrpos()函数用于在字符串中查找指定子串最后一次出现的位置。下面是该函数的基本语法:

strrpos ( string $haystack , string $needle [, int $offset = 0 ] ) : int|false

其中,haystack参数表示需要查找的字符串,needle参数表示需要查找的子串,offset参数表示查找的起始偏移量。如果找到,则返回该子串在字符串中最后一次出现的位置,否则返回false。

下面是一个实例:

echo strrpos("hello world", "o");  //输出7,即子串"o"最后一次出现的位置
echo strrpos("hello world", "x");  //输出false,即子串"x"不存在于字符串中

6. str_replace()函数

str_replace()函数用于在字符串中替换指定子串。下面是该函数的基本语法:

str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) : mixed

其中,search参数可以是一个字符串或一个数组,代表需要替换的子串,replace参数可以是一个字符串或一个数组,代表用来替换的内容,subject参数表示需要替换的字符串,count参数表示替换的次数。如果search和replace是数组,则可以进行多次替换,并且它们的长度必须相等。返回值是一个替换后的字符串或数组,包含了所有的被替换的子串。

下面是一些实例:

echo str_replace("world", "php", "hello world");    //输出"hello php",将"world"替换成"php"
echo str_replace("o", "x", "hello world", $count);   //输出"hellx wxrld",将"o"替换成"x",替换了2次
echo str_replace(array("o", "r"), array("x", "y"), "hello world");   //输出"hellx wyld",分别将"o"和"r"替换成"x"和"y"

7. substr()函数

substr()函数用于获取字符串的子串。下面是该函数的基本语法:

substr ( string $string , int $start [, int $length ] ) : string

其中,string参数表示需要处理的字符串,start参数表示起始位置,从0开始计数,length参数表示子串的长度。如果length参数没有指定或为负数,则返回从start位置到字符串末尾的所有字符。返回值是一个子串。

下面是一些实例:

echo substr("hello world", 6);       //输出"world",获取从第6个字符开始到末尾的所有字符
echo substr("hello world", 6, 3);    //输出"wor",获取从第6个字符开始的3个字符
echo substr("hello world", -5);      //输出"world",获取从倒数第5个字符开始到末尾的所有字符

8. strtotime()函数

strtotime()函数用于将日期字符串转换成时间戳,常用于日期的加减运算。下面是该函数的基本语法:

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

其中,time参数是一个日期字符串,now参数是一个可选的时间戳,用于指定时间的起始时间。如果转换成功,则返回时间戳,否则返回false。

下面是一些实例:

echo strtotime("+1 day");        //输出明天的时间戳
echo strtotime("-1 day");        //输出昨天的时间戳
echo strtotime("+1 week");       //输出下周的时间戳

9. strtotime()函数

strtotime()函数用于比较两个日期哪一个在前面或后面,常用于日期的排序和比较。下面是该函数的基本语法:

strtotime ( string $date1 , string $date2 ) : int

其中,date1和date2参数是两个日期字符串,用于比较两个日期的先后顺序。返回值是一个整数,表示两个日期的时间差,单位为秒。

下面是一些实例:

`php

echo strtotime("2022-01-01") - strtotime("2021-01-01"); //输出31536000,即2022年1月1日和2021年1月1日相差1年的秒数

echo strtotime("2022-01-01") > strtotime("2021-01-01"); //输出true,即2022年1月1日在2021年1月1日之后