zoukankan      html  css  js  c++  java
  • php时间戳与日期转换

    PHP时间大的来分有两种,一是时间戳类型(1228348800),二是正常日期格式(2008-12-4)

    这两个要注意一下,若要保存时间戳,把时间类型存为DATE是会出错的,是类型不符合,不给写入库,需要调整为int类型

    获取时间用time();

    转为正常日期格式

    例:$date3=date('Y-m-d H:i:s',"1228348800");

    反之,转换为时间戳

    $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

    这样就可以实现输出的是北京时间了

  • 相关阅读:
    cUBtYhaFzo
    「UVA1185」Big Number 解题报告
    「洛谷P3202」[HNOI2010]弹飞绵羊 解题报告
    「洛谷P2906」[USACO08OPEN]牛的街区Cow Neighborhoods 解题报告
    「洛谷P1306」斐波那契公约数 解题报告
    「SP25784」BUBBLESORT
    「UVA12004」 Bubble Sort 解题报告
    「洛谷P2397」 yyy loves Maths VI (mode) 解题报告
    「学习笔记」珂朵莉树 ODT
    log4j
  • 原文地址:https://www.cnblogs.com/harxingxing/p/3829981.html
Copyright © 2011-2022 走看看