PHP时间函数大全:格式化日期、计算时间差、获取时间戳等操作
在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时间函数的常用操作和语法,可以灵活运用这些函数来完成我们所需的日期时间处理。
