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 相关文章推荐
操作Oracle的php类
Oct 09 PHP
深入apache host的配置详解
Jun 09 PHP
深入PHP中的HashTable结构详解
Jun 13 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
PHP生成图像验证码的方法小结(2种方法)
Jul 18 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 PHP
php cli模式下获取参数的方法
May 05 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
Yii 框架使用Forms操作详解
May 18 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
解决GD中文乱码问题
2007/02/14 PHP
php获取系统变量方法小结
2015/05/29 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
Python实现根据指定端口探测服务器/模块部署的方法
2014/08/25 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
Mac 上切换Python多版本
2017/06/17 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python imread、newaxis用法详解
2019/11/04 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Keras预训练的ImageNet模型实现分类操作
2020/07/07 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
创业计划书撰写原则
2014/01/25 职场文书
停车位租赁协议书
2014/09/24 职场文书
简易离婚协议书范本
2014/10/24 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
2014年质检员工作总结
2014/11/18 职场文书
成品仓库管理员岗位职责
2015/04/09 职场文书
调研报告的主要写法
2019/04/18 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python