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 相关文章推荐
VFP与其他应用程序的集成
Oct 09 PHP
PHP安全性漫谈
Jun 28 PHP
PHP实现手机归属地查询API接口实现代码
Aug 27 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
php无限遍历目录示例
Feb 21 PHP
ThinkPHP模板输出display用法分析
Nov 26 PHP
为你总结一些php信息函数
Oct 21 PHP
10款实用的PHP开源工具
Oct 23 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
在IIS下安装PHP扩展的方法(超简单)
Apr 10 PHP
PHP结合Vue实现滚动底部加载效果
Dec 17 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
[转]JS宝典学习笔记
2007/02/07 Javascript
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
javascript中几个容易混淆的概念总结
2015/04/14 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
一起写一个即插即用的Vue Loading插件实现
2019/10/31 Javascript
Python中获取网页状态码的两个方法
2014/11/03 Python
Python实现二分法算法实例
2015/02/02 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
python读取和保存视频文件
2018/04/16 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
学生会干部自荐信
2014/02/04 职场文书
大学军训感想
2014/02/12 职场文书
2015年售后服务工作总结
2015/04/25 职场文书
Java设计模式之代理模式
2022/04/22 Java/Android
Redis基本数据类型List常用操作命令
2022/06/01 Redis