php 获取当前时间相差12小时_php时间戳转换差8小时问题
PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)
所以存到数据库也有两种形式了(真正不止,我的应用就两种),时间戳类型我是保存为字符串的,这个是比较方便的.
正常日期类型是保存为DATE型的.
这两个要注意一下,我平时用两种,所以,前几天建的表,把时间类型存为DATE的,我还一直用时间戳保存,一直资料写不进表,调试了好久的才知错误之处,是类型不符合,不给写入库.
像上面的时间戳是比较方便,但,显示的时候,不至于把这个1228348800串给客户看吧,GOD NOWS!
所 以就用到了这两个的转换,先说一下如何取得当前的时间戳,$date1=time();这样就取得当前的时间戳了,要转回2008-12-4这种格式呢, 用到date()这个函数了,在PHP中date()函数比较常用,如取得当前日期,可以用$date2=date('Y-m-d');,关于里面参数的 意思,如不懂就查一下php的手册了.
好,言归正传,把1228348800转成2008-12-4格式代码如下:
$date3=date('Y-m-d H:i:s',"1228348800");
这样就OK了,如还想得到小时,分钟秒,只要把'Y-m-d'改一下就可以了,不过要注意一下,PHP时间还像有8个小时的误差.加上就OK了.
时间戳转正常日期有了,反之呢,把正常日期格式转为时间戳呢,请看如下代码:
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
这样就能把正常日期转成时间戳了,这里如果有时分秒也是同理,
注意:php5.1以上时间戳会与实际时间相差8小时,解决办法如下
1、最简单的方法就是不要用php5.1以上的版本--显然这是不可取的方法!!!
2、修改php.ini。打开php.ini查找date.timezone 去掉前面的分号= 后面加Asia/Shanghai,重启apache服务器即可--缺点就是如果程序
放到别人的服务器上,不能修改php.ini,那就奈何不得了。
3、在程序中添加时间的初始化的语句的 即:“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
澳大利亚:Australia/Sydney
原址:http://hailinhe1986-163-com.javaeye.com/blog/484538
php 获取当前时间相差12小时_php时间戳转换差8小时问题相关推荐
- MySQL插入数据与系统时间相差12小时
MySQL插入数据与系统时间相差12小时 serverTimezone改成Asia/Shanghai和GMT%2B8都不行 怎么解决!!
- Linux系统问题 - 系统时间与北京时间相差12个小时
昨天在Crond服务中加了定时任务执行gitlab的自动备份,早上发现任务没有执行,发现是时差的问题 需要将系统的时间从EDT修改为CST [root@localhost ~]# date Tue J ...
- Java 获取当前时间最近12个月(字符串)
/*** 获取当前系统时间最近12月的年月(含当月)* 2018-04~2019-03*/public String getLatest12Month(Date date){Calendar from ...
- php把时间改为星期,php时间戳转换星期
php时间戳转换星期 2018-09-16 最新php时间戳转换星期 以下是三零网为大家整理的最新php时间戳转换星期的文章,希望大家能够喜欢! /** * 根据时间戳返回星期几 * @param s ...
- MySQL数据库时间和jdbc查询时间相差12小时问题解决
问题: 数据库所在操作系统时间正常(date命令),使用"select now() from dual;"在数据库管理工具查询,显示时间亦正常(与当前时间一致),但是通过jdbc查 ...
- 获取数据库时间相差8小时_JAVA 程序展示时间与数据表保存的时间相差了13个小时...
这会在学习算法,微信的声音响起,测试说,有个小问题,讲真的,最怕测试突然想起你. 测试甩了三张截图给我,说你的保存时间不对啊,奇怪了,放假前还好好的,怎么一回来就出问题了. swagger展示 ...
- java获取当前时间前12个月内的年月信息
工作中时可能会遇到需要循环查询一年相关历史表的业务: 如何获取12个年月信息: @Testpublic void mian() throws Exception{Calendar c = Calend ...
- 获取当前时间的后一天/前一天或者后1小时/前1小时
重点就是在date2.setHours(date1.getHours() + 1)这一句 比如需要月份的加减可以通过setMonth()/getMonth()等方法达到效果. 一些例子 当前时间往后一 ...
- java 指定时间转换_Java中使用Calendar进行获取指定时间,使用SimpleDateFormat进行格式化转换...
java中使用Calendar获取指定的时间 public class DateTranslate { /** * 获取指定日期的间隔月份的第一天的日期 * @param date * @param ...
最新文章
- 最强Transformer发布!谷歌大脑提出ViT-G:缩放视觉Transformer,高达90.45%准确率!
- Centos7修改Docker默认存储位置
- OpenCV人脸检测与人脸识别
- EditText: 自定义EditText 触摸时无法获取焦点
- 话里话外:家族化管理模式和职业化管理模式孰优孰劣
- 在ASP.NET中调用存储过程方法新解
- 多类别分类问题由 confusion matrix 到分类准确率(accuracy)的计算
- 解决ORA-27103:internal error错误一例
- composer 介绍及安装
- 武装突袭3fps服务器不稳定,大神教你解决win10系统玩《武装突袭3》超级卡顿的详细技巧...
- 数学:概率论与数理统计
- 将TXT文件作为数据库批量生成条形码
- Catch the moments of your life. Catch them while you're young and quick.
- # 数值计算:三角形积分
- EFS加密解密----重装系统后
- 项目经历怎么写_简历里的项目经历怎么写才能打动招生官和面试官?
- 看这里!java兼职一天多少钱
- 【stm32f429igt6】的WiFi模块数据收发。
- 微信小程序开发笔记 进阶篇④——基于iconfont快速实现icon图标显示
- 计算机科学导论第五章计算机组成课后答案,计算机科学导论第五章计算机组成.ppt...