设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php中用date函数获取当前时间有误的解决办法 ...
返回列表
查看:
1335
|
回复:
0
php中用date函数获取当前时间有误的解决办法
[复制链接]
阿情
当前离线
积分
7622
2560
主题
2560
帖子
7622
积分
论坛元老
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
论坛元老, 积分 7622, 距离下一级还需 9992377 积分
积分
7622
发消息
电梯直达
楼主
发表于 2018-2-14 08:12:24
|
只看该作者
|
正序浏览
|
阅读模式
初学PHP做网站,想在页面上获得当前时间,学过编程的人都知道用时间函数date(),先用这个函数格式化一个本地时间/日期,先写个测试代码吧,结果输出时间比实际时间少了8小时,这是什么原因呢:
[U]复制代码[/U] 代码如下:
输出当前时间:2008-10-12 02:32:17
怪了,实际时间是:2008-10-12 10:32:17
难道是PHP的date()时间不正确 少8个小时?
再看看PHP手册的“例子 1. date() 例子”第一行多了一个 时区设置
// 设定要用的默认时区。自 PHP 5.1 可用
date_default_timezone_set('UTC');
原来php5.1.开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的,也就是显示的时间(无论用什么php命令)都是格林威治标准时间,和北京时间正好差8个小时。
如何设置可以得到正确的PHP时间?
1、修改php.ini。
打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
2、在程序中添加时间的初始化的语句的
即:“date_default_timezone_set("Asia/Shanghai"); ”这个可以由程序员任意设置,我的推荐。
时区标识符,大陆内地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次为中国,重庆,上海,乌鲁木齐) ,Etc/GMT-8,Asia/Harbin
港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依次为澳门,香港,台北)还有新加坡:Asia/Singapore
这样就可以实现输出的是北京时间了。
更详细的时区代码 时区编码 时区索引码 timezone_identifier 大家可以在官方网站中查到。
您可能感兴趣的文章:
PHP date函数参数详解
php Smarty date_format [格式化时间日期]
关于php程序报date()警告的处理(date_default_timezone_set)
php使用strtotime和date函数判断日期是否有效代码分享
PHP下获取上个月、下个月、本月的日期(strtotime,date)
JS版的date函数(和PHP的date函数一样)
PHP date()函数警告: It is not safe to rely on the system解决方法
PHP date函数常用时间处理方法
php中时间函数date及常用的时间计算
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
浏览过的版块
今日头条
用户反馈
客户端