PHP时间处理技巧:10个函数帮你规划时间
PHP是一种广泛使用的服务器端脚本语言,用于Web开发。在PHP中,时间戳函数是比较常用的功能,但是有些时候,我们需要对时间进行格式化、计算、转换等处理。
下面介绍一些PHP时间处理技巧,包括10个常用函数,帮助你规划时间。
1. time()函数
time()函数可以获取当前时间戳,即从格林威治标准时间(GMT)1970年1月1日00时00分00秒到当前时间的秒数。它的用法很简单:
echo time();
2. date()函数
date()函数可以将时间戳格式化成指定的时间格式。它的用法如下:
date($format, $timestamp);
其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:
echo date('Y-m-d H:i:s');
上面的代码会输出当前时间的年月日时分秒,形如:2021-10-31 22:40:01。
3. strtotime()函数
strtotime()函数可以将人类可读的时间格式转换成时间戳。它的用法如下:
strtotime($time);
其中$time是人类可读的时间格式,例如'2021-10-31'、'last Monday'等。例如:
echo strtotime('2021-10-31');
上面的代码会输出2021年10月31日的时间戳。
4. time_diff()函数
time_diff()函数可以计算两个时间戳之间的时间差,或者计算某个时间戳到当前时间的时间差。它的用法如下:
time_diff($time1[, $time2]);
其中$time1是要计算的起始时间戳,$time2是要计算的结束时间戳,如果不指定$time2,则默认使用当前时间戳。例如:
echo time_diff(strtotime('2021-10-31'), time());
上面的代码会输出当前时间距离2021年10月31日的时间差。
5. mktime()函数
mktime()函数可以生成一个指定时间的时间戳。它的用法如下:
mktime($hour, $minute, $second, $month, $day, $year);
其中$hour、$minute、$second、$month、$day、$year分别是小时、分钟、秒、月、日、年。例如:
echo mktime(0, 0, 0, 10, 31, 2021);
上面的代码会生成2021年10月31日0时0分0秒的时间戳。
6. strtotime_diff()函数
strtotime_diff()函数可以计算两个人类可读的时间格式之间的时间差,或者计算某个人类可读的时间格式到当前时间的时间差。它的用法如下:
strtotime_diff($time1[, $time2]);
其中$time1是要计算的起始时间,$time2是要计算的结束时间,如果不指定$time2,则默认使用当前时间。例如:
echo strtotime_diff('2021-10-31', 'now');
上面的代码会输出当前时间距离2021年10月31日的时间差。
7. strftime()函数
strftime()函数可以根据指定的格式将时间戳格式化成可读的本地时间。它的用法如下:
strftime($format, $timestamp);
其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:
echo strftime('%Y年%m月%d日 %H时%M分%S秒', time());
上面的代码会输出当前时间的中文格式。
8. getdate()函数
getdate()函数可以获取指定时间戳的详细信息,包括年、月、日、时、分、秒、星期几、当年第几天等。它的用法如下:
getdate($timestamp);
其中$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:
print_r(getdate(time()));
上面的代码会输出当前时间的详细信息。
9. gmdate()函数
gmdate()函数可以将时间戳格式化成指定的GMT时间格式。它的用法和date()函数一样,区别在于gmdate()函数是以GMT时间为准,而date()函数是以本地时间为准。例如:
echo gmdate('Y-m-d H:i:s');
上面的代码会输出当前的GMT时间。
10. strtotime_to_date()函数
strtotime_to_date()函数可以将时间戳转换成指定的人类可读的时间格式。它的用法如下:
strtotime_to_date($format, $timestamp);
其中$format是时间格式,$timestamp是时间戳,如果不指定$timestamp,则默认使用当前时间戳。例如:
echo strtotime_to_date('Y-m-d H:i:s', time());
上面的代码会将当前时间戳格式化成年月日时分秒的格式。
