PHP获取当前系统时间的方法小结


Posted in PHP onOctober 03, 2018

一、获取当前时间戳

方法1:通过time函数

time();

方法2:通过$_SERVER中的REQUEST_TIME元素

$_SERVER['REQUEST_TIME'];

方法3:通过strtotime函数

strtotime('now'));

二、获取当前时间

通过date函数格式化时间戳

echo date('Y-m-d h:i:s', time()); // 2018-10-3 15:57:05

三、时区问题

上述方法都存在时区问题,具体解决:

方法一:php.ini中修改为中国时区

date.timezone = PRC

方法二:在php文件中临时设置为中国时区

date_default_timezone_set('PRC');

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');输出结果:2018-10-03
echo  date('Y-m-d H:i:s');输出结果:2018-10-03 23:00:00
echo  date('Y-m-d', time());输出结果:2018-10-03 23:00:00(结果同上,只是多了一个时间戳参数)(时间戳转换为日期格式的方法)
echo  date('Y').'年'.date('m').'月'.date('d').'日',输出结果:2018年10月3日

举例就这几个,只是格式的变动而已,下面是字符串格式中各个字母的含义:
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();输出结果:1332427715(返回的结果即当前的时间戳)
strtotime($time)用法举例:
echo strtotime('2012-03-22');输出结果:1332427715(此处结果为随便写的,仅作说明使用)
echo strtotime(date('Y-d-m'));输出结果:(结合date(),结果同上)(时间日期转换为时间戳)
strtotime()还有个很强大的用法,参数可加入对于数字的操作、年月日周英文字符,示例如下:
echo date('Y-m-d H:i:s',strtotime('+1 day'));输出结果:2012-03-23 23:30:33(会发现输出明天此时的时间)
echo date('Y-m-d H:i:s',strtotime('-1 day'));输出结果:2012-03-21 23:30:33(昨天此时的时间)
echo date('Y-m-d H:i:s',strtotime('+1 week'));输出结果:2012-03-29 23:30:33(下个星期此时的时间)
echo date('Y-m-d H:i:s',strtotime('next Thursday'));输出结果:2012-03-29 00:00:00(下个星期四此时的时间)
echo date('Y-m-d H:i:s',strtotime('last Thursday'));输出结果:2012-03-15 00:00:00(上个星期四此时的时间)

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

php获取当前时间的毫秒数

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

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

取的当前时间与实际时间相差8小时的解决方法

实际开发中经常会碰到获取的时间与当前系统实际时间相差8个小时,这是因为时区设置问题,对于这个问题,有下面的几种解决办法:

1.在php.ini中找到date.timezone,将它的值改成 Asia/Shanghai,即 date.timezone = Asia/Shanghai(将当前时区设置为亚洲上海时区)
2.在程序开始的地方添加 date_default_timezone_set('Asia/Shanghai');即可。
两种方式都可以,看个人喜好。

PHP 相关文章推荐
简单的用PHP编写的导航条程序
Oct 09 PHP
php中Y2K38的漏洞解决方法实例分析
Sep 22 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
Apr 20 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
cakephp常见知识点汇总
Feb 24 PHP
PHP编程获取各个时间段具体时间的方法
May 26 PHP
PHP SPL 被遗落的宝石【SPL应用浅析】
Apr 20 PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 PHP
Laravel框架Auth用户认证操作实例分析
Sep 29 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
Sep 30 PHP
PHP格式化显示时间date()函数代码
Oct 03 #PHP
php实现微信企业转账功能
Oct 02 #PHP
PHP实现微信退款功能
Oct 02 #PHP
PHP实现微信申请退款功能
Oct 01 #PHP
微信企业转账之入口类分装php代码
Oct 01 #PHP
PHP实现微信对账单处理
Oct 01 #PHP
php提取微信账单的有效信息
Oct 01 #PHP
You might like
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PHP使用Redis实现Session共享的实现示例
2019/05/12 PHP
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
浅谈javascript中的数据类型转换
2016/12/27 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
viewer.js实现图片预览功能
2020/06/24 Javascript
vue实现放大镜效果
2020/09/17 Javascript
Python open读写文件实现脚本
2008/09/06 Python
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
python处理cookie详解
2014/02/07 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
查看django执行的sql语句及消耗时间的两种方法
2018/05/29 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
如何把python项目部署到linux服务器
2020/08/26 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
校园摄影活动策划方案
2014/02/05 职场文书
合作意向协议书范本
2014/03/31 职场文书
教师师德演讲稿
2014/05/06 职场文书
孩子教育的心得体会
2014/09/01 职场文书
优秀班组申报材料
2014/12/25 职场文书
2019年警察入党转正申请书最新范文
2019/09/03 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers