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效率,提高php性能的一些方法
Mar 24 PHP
php 判断访客是否为搜索引擎蜘蛛的函数代码
Jul 29 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
浅析php原型模式
Nov 25 PHP
php实现encode64编码类实例
Mar 24 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
Jan 17 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
Aug 28 PHP
PHPExcel 修改已存在Excel的方法
May 03 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
多数据表共用一个页的新闻发布
2006/10/09 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
php通过字符串调用函数示例
2014/03/02 PHP
php实现二叉树中和为某一值的路径方法
2018/10/14 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
jquery获取iframe中的dom对象(两种方法)
2013/07/02 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
基于JS实现简单的样式切换效果代码
2015/09/04 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
2016/06/27 Python
Python构建网页爬虫原理分析
2017/12/19 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python使用线程来接收串口数据的示例
2019/07/02 Python
python pandas获取csv指定行 列的操作方法
2019/07/12 Python
Python Selenium安装及环境配置的实现
2020/03/17 Python
python中pyplot基础图标函数整理
2020/11/10 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
成教毕业生自我鉴定
2013/10/23 职场文书
电气专业推荐信范文
2013/11/18 职场文书
创业计划书模版
2014/02/05 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
《勇者辞职不干了》上卷BD发售宣传CM公开
2022/04/08 日漫
Win11查看设备管理器
2022/04/19 数码科技