PHP函数使用之日期时间函数全面解析
在开发Web项目时,常常需要使用到日期时间相关的函数,比如获取当前时间、格式化时间、计算两个时间之间的间隔等等。PHP提供了丰富的日期时间函数,本文将对PHP日期时间函数进行详细解析和说明。
一、获取当前时间
1. time()函数 - 返回当前的Unix时间戳
使用示例:
echo time();//输出当前Unix时间戳
2. date()函数 - 格式化日期和时间
使用示例:
echo date("Y-m-d H:i:s");//输出当前日期时间,格式为“年-月-日 时:分:秒”
二、日期时间格式化
1. strtotime()函数 - 将任何英文文本的日期时间描述解析为 Unix 时间戳
使用示例:
echo strtotime("now");//输出当前的Unix时间戳
echo strtotime("10 September 2000");//输出指定日期的Unix时间戳
2. strftime()函数 - 格式化本地时间/日期
使用示例:
setlocale(LC_TIME, "zh_CN");//设置本地化信息
echo strftime("%Y-%m-%d %H:%M:%S");//输出当前日期时间,格式为“年-月-日 时:分:秒”
3. gmstrftime()函数 - 格式化 GMT 时间/日期
使用示例:
echo gmstrftime("%Y-%m-%d %H:%M:%S");//输出当前GMT日期时间,格式为“年-月-日 时:分:秒”
三、在日期时间上的计算
1. mktime()函数 - 取得一个日期的 Unix 时间戳
使用示例:
echo mktime(0,0,0,1,1,2000);//输出2000年1月1日的Unix时间戳
2. date_diff()函数 - 计算两个日期之间的差值
使用示例:
$date1 = date_create("2019-01-01");
$date2 = date_create("2019-02-01");
$diff = date_diff($date1, $date2);
echo $diff->format("%m月%d天");//输出“1月0天”,表示两个日期之间相隔1个月0天
3. strtotime()函数 - 计算两个日期相差的秒数
使用示例:
$seconds = abs(strtotime("2019-01-01") - strtotime("2019-02-01"));
echo $seconds;//输出“2678400”,表示两个日期相隔31天
四、其他日期时间函数
1. microtime()函数 - 获取当前微秒数
使用示例:
echo microtime();//输出当前微秒数
2. sleep()函数 - 使当前进程睡眠指定的秒数
使用示例:
sleep(3);//使当前进程睡眠3秒
3. checkdate()函数 - 验证一个格林威治时间是否正确
使用示例:
echo checkdate(2, 29, 2000) ? "正确" : "错误";//输出“正确”,表示2000年2月29日是一个正确的日期
综上所述,PHP提供了非常丰富的日期时间函数,可以实现各种日期时间的处理需求。在实际开发中,我们可以根据需求选择合适的函数进行使用。
