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小时问题相关推荐

  1. MySQL插入数据与系统时间相差12小时

    MySQL插入数据与系统时间相差12小时 serverTimezone改成Asia/Shanghai和GMT%2B8都不行 怎么解决!!

  2. Linux系统问题 - 系统时间与北京时间相差12个小时

    昨天在Crond服务中加了定时任务执行gitlab的自动备份,早上发现任务没有执行,发现是时差的问题 需要将系统的时间从EDT修改为CST [root@localhost ~]# date Tue J ...

  3. Java 获取当前时间最近12个月(字符串)

    /*** 获取当前系统时间最近12月的年月(含当月)* 2018-04~2019-03*/public String getLatest12Month(Date date){Calendar from ...

  4. php把时间改为星期,php时间戳转换星期

    php时间戳转换星期 2018-09-16 最新php时间戳转换星期 以下是三零网为大家整理的最新php时间戳转换星期的文章,希望大家能够喜欢! /** * 根据时间戳返回星期几 * @param s ...

  5. MySQL数据库时间和jdbc查询时间相差12小时问题解决

    问题: 数据库所在操作系统时间正常(date命令),使用"select now() from dual;"在数据库管理工具查询,显示时间亦正常(与当前时间一致),但是通过jdbc查 ...

  6. 获取数据库时间相差8小时_JAVA 程序展示时间与数据表保存的时间相差了13个小时...

    这会在学习算法,微信的声音响起,测试说,有个小问题,讲真的,最怕测试突然想起你.  测试甩了三张截图给我,说你的保存时间不对啊,奇怪了,放假前还好好的,怎么一回来就出问题了.  swagger展示 ...

  7. java获取当前时间前12个月内的年月信息

    工作中时可能会遇到需要循环查询一年相关历史表的业务: 如何获取12个年月信息: @Testpublic void mian() throws Exception{Calendar c = Calend ...

  8. 获取当前时间的后一天/前一天或者后1小时/前1小时

    重点就是在date2.setHours(date1.getHours() + 1)这一句 比如需要月份的加减可以通过setMonth()/getMonth()等方法达到效果. 一些例子 当前时间往后一 ...

  9. java 指定时间转换_Java中使用Calendar进行获取指定时间,使用SimpleDateFormat进行格式化转换...

    java中使用Calendar获取指定的时间 public class DateTranslate { /** * 获取指定日期的间隔月份的第一天的日期 * @param date * @param ...

最新文章

  1. 最强Transformer发布!谷歌大脑提出ViT-G:缩放视觉Transformer,高达90.45%准确率!
  2. Centos7修改Docker默认存储位置
  3. OpenCV人脸检测与人脸识别
  4. EditText: 自定义EditText 触摸时无法获取焦点
  5. 话里话外:家族化管理模式和职业化管理模式孰优孰劣
  6. 在ASP.NET中调用存储过程方法新解
  7. 多类别分类问题由 confusion matrix 到分类准确率(accuracy)的计算
  8. 解决ORA-27103:internal error错误一例
  9. composer 介绍及安装
  10. 武装突袭3fps服务器不稳定,大神教你解决win10系统玩《武装突袭3》超级卡顿的详细技巧...
  11. 数学:概率论与数理统计
  12. 将TXT文件作为数据库批量生成条形码
  13. Catch the moments of your life. Catch them while you're young and quick.
  14. # 数值计算:三角形积分
  15. EFS加密解密----重装系统后
  16. 项目经历怎么写_简历里的项目经历怎么写才能打动招生官和面试官?
  17. 看这里!java兼职一天多少钱
  18. 【stm32f429igt6】的WiFi模块数据收发。
  19. 微信小程序开发笔记 进阶篇④——基于iconfont快速实现icon图标显示
  20. 计算机科学导论第五章计算机组成课后答案,计算机科学导论第五章计算机组成.ppt...

热门文章

  1. 微信小程序生成海报无法保存到相册
  2. 2019 我的小目标
  3. 【CPU设计实战】数字逻辑电路设计基础(一)
  4. 第5章 数据库管理---数据库原理及应用
  5. “网红第一辣酱”虎邦,能破自己的“外卖舒适圈”吗?
  6. 【HTTP】HTTP报文首部
  7. 使用itextpdf编辑PDF
  8. 图片变成圆形和放大动画
  9. 如何快速的使用代理IP进行IP的切换?
  10. Smart License