PHP时间函数使用详解


Posted in PHP onMarch 21, 2019

PHP开发中,关于时间函数的使用基本上可以说是无处不在,而PHP中操作时间的方法也很多,比如PHP时间戳、日期与时间戳之间的转换、获取当前日期、当前时间之前或之后的时间等等,下面我们详细讲述一下PHP中各种时间函数的使用。

首先需要知道的是在php中获取时间方法是date(),在php中获取时间戳方法有time()、strtotime()。下面分别说明。

date() 格式为:date($format, $timestamp),format为格式、timestamp为时间戳(可选)。

time() 返回当前时间的 Unix 时间戳,没有参数。

strtotime($time, $now) 将格式化的日期时间或任何英文文本的日期时间描述解析为 Unix 时间戳。$time 为必填,规定要解析的时间字符串;$now 用来计算返回值的时间戳,如果省略该参数,则使用当前时间。

date($format)用法举例:

  • echo date('Y-m-d');输出结果:2014-12-16
  • echo date('Y-m-d H:i:s');输出结果:2014-12-16 23:00:00
  • echo date('Y年m月d日');输出结果:2014年12月16日

要实现输出怎样的日期格式其实只需要按规则修改一下即可,下面是字符串格式中各个字母的含义:

a - "am" 或是 "pm"

A - "AM" 或是 "PM"

d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"

D - 星期几,三个英文字母; 如: "Fri"

F - 月份,英文全名; 如: "January"

h - 12 小时制的小时; 如: "01" 至 "12"

H - 24 小时制的小时; 如: "00" 至 "23"

g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"

G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"

i - 分钟; 如: "00" 至 "59"

j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"

l - 星期几,英文全名; 如: "Friday"

m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"

n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"

M - 月份,三个英文字母; 如: "Jan"

s - 秒; 如: "00" 至 "59"

S - 字尾加英文序数,二个英文字母; 如: "th","nd"

t - 指定月份的天数; 如: "28" 至 "31"

U - 总秒数

w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)

Y - 年,四位数字; 如: "1999"

y - 年,二位数字; 如: "99"

z - 一年中的第几天; 如: "0" 至 "365"

time()用法举例:

time();输出结果:1418664250(返回的结果即当前的时间戳)

strtotime($time)用法举例:

echo strtotime('2014-12-16'); 输出结果:1418688000,作用其实是把2014-12-16 00:00:00转化为 UNIX 时间戳

strtotime()还有个很强大的用法,参数可加入对于数字的操作、年月日周英文字符,示例如下:

  • echo date('Y-m-d H:i:s',strtotime('+1 day'));输出结果:2014-12-17 23:30:33(输出明天此时的时间)
  • echo date('Y-m-d H:i:s',strtotime('-1 day'));输出结果:2014-12-15 23:30:33(昨天此时的时间)
  • echo date('Y-m-d H:i:s',strtotime('+1 week'));输出结果:2014-12-22 23:30:33(获取下个星期此时的时间)
  • echo date('Y-m-d H:i:s',strtotime('next Thursday'));输出结果:2014-12-18 00:00:00(获取下个星期四凌晨的时间)
  • echo date('Y-m-d H:i:s',strtotime('last Thursday'));输出结果:2014-12-11 00:00:00(获取上个星期四凌晨的时间)

以上举例就这么多了,更多的自己去变通研究吧,strtotime()方法可以通过英文文本的控制Unix时间戳的显示,而得到需要的时间日期格式。

php获取当前时间的毫秒数

php本身没有提供返回毫秒数的函数,但提供了microtime()方法,它会返回一个数组,包含两个元素:一个是秒数、一个是小数表示的毫秒数,我们可以通过此方法获取返回的毫秒数,方法如下:

function getMillisecond(){
 list($s1,$s2)=explode(' ',microtime());
 return (float)sprintf('%.0f',(floatval($s1)+floatval($s2))*1000);
}

在PHP里面,通常获取到的时间会与当前时间相差8小时,这是由于在PHP的配置里默认是以0时区的时间为基准,而我们位于东8区,与0时区相差八小时,所以在实际开发中使用到时间的时间,要特别注意设置好时区,设置的方法主要有下面的几种:

1.在php.ini中找到date.timezone,将它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai(将当前时区设置为亚洲上海时区)

2.在程序开始的地方添加 date_default_timezone_set('Asia/Shanghai');即可,当然对于中国的时区,我们也可以使用date_default_timezone_set('PRC');来设置

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
php自动跳转中英文页面
Jul 29 PHP
Wordpress php 分页代码
Oct 21 PHP
如何使用php绘制在图片上的正余弦曲线
Jun 08 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
PHP中使用addslashes函数转义的安全性原理分析
Nov 03 PHP
PHP超全局数组(Superglobals)介绍
Jul 01 PHP
Redis构建分布式锁
Mar 28 PHP
PHP+Ajax实现上传文件进度条动态显示进度功能
Jun 04 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
PHP中用Trait封装单例模式的实现
Dec 18 PHP
PHP抽象类与接口的区别详解
Mar 21 #PHP
PHP CURL使用详解
Mar 21 #PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 #PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 #PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
Mar 21 #PHP
启用OPCache提高PHP程序性能的方法
Mar 21 #PHP
Discuz不使用插件实现简单的打赏功能
Mar 21 #PHP
You might like
用ODBC的分页显示
2006/10/09 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
2016/07/07 PHP
PHP Trait代码复用类与多继承实现方法详解
2019/06/17 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
Javascript alert消息换行的方法
2013/08/07 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
JavaScript观察者模式(经典)
2015/12/09 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
JS中数组重排序方法
2016/11/11 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
分析在Python中何种情况下需要使用断言
2015/04/01 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
matplotlib自定义鼠标光标坐标格式的实现
2021/01/08 Python
如何定义一个可复用的服务
2014/09/30 面试题
教育学专业毕业生的自我鉴定
2013/11/26 职场文书
教育专业个人求职信
2013/12/02 职场文书
求职自荐书范文
2013/12/04 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
社区党建工作方案
2014/06/10 职场文书
航空学院求职信
2014/06/11 职场文书
公务员检讨书
2014/11/01 职场文书
财务经理岗位职责范本
2015/04/08 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
element tree树形组件回显数据问题解决
2022/08/14 Javascript