总结
豆包 AI 助手文章总结

PHP中如何才能将时间日期格式化?怎么计算时间差?

WBOY
发布: 2021-10-21 14:24:48
原创
3640人浏览过

在之前的文章中给大家带来了《php中获取时间的方法总结(实例详解)》,其中详细的给大家介绍了php中获取时间的5种方法,本篇文章我们继续来看一看php中应该怎样去将时间日期格式化和怎样去计算时间差,希望对大家有帮助!

PHP中如何才能将时间日期格式化?怎么计算时间差?

在PHP中,可以使用UNIX作为时间戳的标准格式,但是他并不容易阅读,一个字符串不符合我们的阅读习惯。这时候我们就需要把UNIX时间戳格式化,变成我们习惯的阅读方式,格式化也可以变为其他软件需要的格式。

date()时间日期格式化

在PHP中,我们有date()函数用于格式化一个时间或日期,它的函数语法格式如下:

立即学习PHP免费学习笔记(深入)”;

date(格式化后的时间格式,待格式化的时间戳)
登录后复制

其中,格式化之后的时间格式可以通过拥有特殊含义的字符来表示,示例如下:

d---表示月份中的第几天,要用两位数来表示,不足两位数的话,前面加个0。

<?php
    // 设定要用的时区
    date_default_timezone_set('Asia/ShangHai');
    echo date("d");
?>
登录后复制
登录后复制

今天是21号,输出结果:

1021.12.png

D---表示英文星期几的缩写。

<?php
    // 设定要用的时区
    date_default_timezone_set('Asia/ShangHai');
    echo date("d");
?>
登录后复制
登录后复制

今天是周四,输出结果:

1021.13.png

F---表示月份的英文单词

<?php
    // 设定要用的时区
    date_default_timezone_set('Asia/ShangHai');
    echo date("F");
?>
登录后复制

今天是十月份,输出结果:

1021.14.png

还有很多特殊的字符,下面列举一些:

t---指定月份的天数    28 到 31

M---月份的英文缩写    Jan 到 Dec  

n---使用数字表示当前月份    1 到 12    

g---使用 12 小时格式表示小时数    1 到 12  

G---使用 24 小时格式表示小时数    0 到 23 

z---使用数字表示一年中的第几天    0 到 365    

m---使用两位的数字表示当前月份    01 到 12   

s---使用两位数字表示秒数,有前导零    00 到 59> 

i---使用两位数字表示分钟数,有前导零    00 到 59> 

h---使用 12 小时格式表示小时数,有前导零    01 到 12    

H---使用 24 小时格式表示小时数,有前导零    00 到 23    

N---使用数字表示星期中的第几天 ,其中1表示星期一,7表示星期日。        

w---使用数字表示星期中的第几天    0(表示星期天)到 6(表示星期六)

可以结合在一起,示例如下:

<?php
    // 设定要用的时区
    date_default_timezone_set('Asia/ShangHai');
    echo date("t");
    echo "<br/>";
    echo date("M");
    echo "<br/>";
    echo date("n");
    echo "<br/>";
    echo date("g");
    echo "<br/>";
    echo date("G");
    echo "<br/>";
    echo date("z");
    echo "<br/>";
    echo date("m");
    echo "<br/>";
    echo date("s");
?>
登录后复制

输出结果:

1021.15.png

经过上面的实例,我们知道可以通过date函数中的不同参数,来对时间进行格式化。

接下来我们来学习一下,应该怎样通过PHP来计算时间差,可以当作一个拓展知识。

PHP计算时间差

在开发过程中,可能会遇到的情况比如,创建这个用户已经多长时间了,登陆网站已经多久了或者计算生日。出现这样的情况时,我们就需要去计算两个时间之间的时间差。

在PHP中,我们可以通过把两个日期转换成时间戳来计算时间差,这时候就要用到我们上一篇文章中讲到的mktime函数。(点击这里《PHP中获取时间的方法总结(实例详解)》能够看到上一篇中有关于mktime函数的用法)

示例如下:

<?php
//2000年3月26日0点0分0秒
$a = mktime(0,0,0,3,26,2000);
//2021年10月21日14点10分0秒
$b = mktime(14,10,0,10,21,2021);
$diff_seconds = $b - $a;
//一周的秒数是 24*60*60*7=604800 秒
$diff_weeks = floor($diff_seconds/604800);
//一天的秒数是 24*60*60=86400
$diff_days = floor($diff_seconds/86400);
//一小时的秒数是 60*60=3600
$diff_hours = floor($diff_seconds/3600);
//一分钟的秒数是 60
$diff_minutes = floor($diff_seconds/60);
echo "2000-3-26 0:0:0 和 2021-10-21 14:10:0 之间相差:<br />".
    "$diff_seconds 秒<br />".
    "$diff_weeks 个星期<br />".
    "$diff_days 天<br />".
    "$diff_hours 个小时<br />".
    "$diff_minutes 分钟<br />";
?>
登录后复制

输出结果:

1021.16.png

如此,我们便完成了如何计算两个时间之间的时间差。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上就是PHP中如何才能将时间日期格式化?怎么计算时间差?的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号