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

PHP时间函数大全:格式化日期、计算时间差、获取时间戳等操作

发布时间:2023-06-16 15:31:47

在PHP编程中,时间操作是非常常见的,比如格式化日期、计算时间差、获取时间戳等等。本文将为大家介绍PHP常用的时间函数,并给出相应案例。

1. date()函数

格式化日期,返回当前的日期和时间。

语法:date(format, timestamp)

其中,format为格式化字符串,timestamp可以省略,表示当前时间。

示例:

echo date("Y/m/d"); //输出当前的年月日,例如:2019/12/16

2. time()函数

获取当前时间的时间戳。

示例:

echo time(); //输出当前时间的时间戳,例如:1576480618

3. strtotime()函数

将日期时间字符串转换成时间戳。

语法:strtotime(time_string)

示例:

echo strtotime("2019-12-16 10:10:10"); //输出该日期时间的时间戳,例如:1576489810

4. mktime()函数

根据给定的时间创建时间戳。

语法:mktime(hour, minute, second, month, day, year, is_dst)

其中,hour、minute、second分别表示时、分、秒;month、day、year分别表示月、日、年;is_dst为可选参数,表示夏令时。

示例:

echo mktime(10, 10, 10, 12, 16, 2019); //输出该日期时间的时间戳,例如:1576489810

5. strtotime()与mktime()比较

两个函数均可以将日期时间字符串转换成时间戳,但是它们的区别在于对不合法日期的处理,strtotime()会将不合法的日期转换成最接近的合法日期,而mktime()则会返回false值。

示例:

echo strtotime("2019-13-16"); //输出1576569600,因为strtotime()将2019-13-16转换成2019-12-16
echo mktime(0, 0, 0, 13, 16, 2019); //输出false,因为2019-13-16是不合法的日期

6. strftime()函数

将日期时间格式化为本地需要的字符串。

语法:strftime(format, timestamp)

其中,format为格式化字符串,timestamp为可选参数,表示时间戳。

示例:

echo strftime("%Y/%m/%d %H:%M:%S", time()); //输出格式为2019/12/16 10:10:10的字符串

7. gmdate()函数

返回全球标准时间(GMT)的日期和时间字符串。

语法:gmdate(format, timestamp)

示例:

echo gmdate("Y/m/d H:i:s", time()); //输出当前GMT时间的日期和时间,例如:2019/12/16 02:47:39

8. date_diff()函数

计算两个日期间的时间差。

语法:date_diff(datetime1, datetime2)

其中,datetime1和datetime2可以是日期时间对象、日期时间字符串或者时间戳。

示例:

$date1 = new DateTime("2020-01-01");
$date2 = new DateTime("2020-01-02");
$interval = date_diff($date1, $date2);
echo $interval->format("%R%a days"); //输出+1 days

9. date_add()函数

在日期时间上加上一个时间段。

语法:date_add(datetime, interval)

其中,datetime为日期时间对象,interval表示需要添加的时间间隔,可以使用DateInterval对象或者时间字符串。

示例:

$date = new DateTime("2020-01-01");
$date->add(new DateInterval("P1D"));
echo $date->format("Y/m/d"); //输出2020/01/02

10. date_sub()函数

在日期时间上减去一个时间段。

语法:date_sub(datetime, interval)

其中,datetime为日期时间对象,interval表示需要减去的时间间隔,可以使用DateInterval对象或者时间字符串。

示例:

$date = new DateTime("2020-01-02");
$date->sub(new DateInterval("P1D"));
echo $date->format("Y/m/d"); //输出2020/01/01

以上是PHP时间函数的常用操作和语法,可以灵活运用这些函数来完成我们所需的日期时间处理。