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 301转向实现代码
Sep 18 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
一个PHP分页类的代码
May 18 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
学习PHP session的传递方式
Jun 15 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
PHP检查网站是否宕机的方法示例
Jul 24 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 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
PHP脚本的10个技巧(8)
2006/10/09 PHP
默默简单的写了一个模板引擎
2007/01/02 PHP
PHP基础学习小结
2011/04/17 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
python将unicode转为str的方法
2017/06/21 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
分析python动态规划的递归、非递归实现
2018/03/04 Python
Python pygorithm模块用法示例【常见算法测试】
2018/08/16 Python
python通过链接抓取网站详解
2019/11/20 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
HTML5实现锚点时请使用id取代name
2013/09/06 HTML / CSS
英国最大的电脑零售连锁店集团:PC World
2016/10/10 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
优秀应届毕业生自荐信
2013/11/16 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
建议书怎么写
2014/03/12 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
质量主管工作职责
2014/09/26 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
护士2015年终工作总结
2015/04/29 职场文书
销售合作意向书范本
2015/05/08 职场文书
2016优秀教师先进个人事迹材料
2016/02/25 职场文书
室外天线与收音机天线杆接合方法
2022/04/05 无线电
js 实现验证码输入框示例详解
2022/09/23 Javascript