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在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
Aug 03 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
php 无法加载mcrypt.dll的解决办法
Apr 03 PHP
国外十大最流行的PHP框架排名
Jul 04 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
将php数组输出html表格的方法
Feb 24 PHP
PHP+FastCGI+Nginx配置PHP运行环境
Aug 07 PHP
推荐25款php中非常有用的类库
Sep 29 PHP
php使用google地图应用实例
Dec 31 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 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&mysql(一)
2006/10/09 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
php绘制一个矩形的方法
2015/01/24 PHP
PHP对象、模式与实践之高级特性分析
2016/12/08 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
提交按钮的name='submit'引起的js失效问题及原因
2015/02/25 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
jQuery插件FusionCharts实现的2D柱状图效果示例【附demo源码下载】
2017/03/06 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
2019/10/22 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
2020/05/07 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
CSS3为背景图设置遮罩并解决遮罩样式继承问题
2020/06/22 HTML / CSS
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
大课间活动实施方案
2014/03/06 职场文书
工作保证书范文
2014/04/29 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
质量保证书
2015/01/17 职场文书
欠款证明
2015/06/24 职场文书
学校趣味运动会开幕词
2016/03/04 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
浅谈JS的原型和原型链
2021/06/04 Javascript