最新公告
  • 欢迎您光临波比源码,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • php时间戳和正常时间显示的转换代码

    96网(LieHuo03.Net)教23程 在网页开发中,我们提交表单的时间往往转换为10位数的时间戳格式,在调用时却难住了一些同学,那么如何调用转换出来呢?

    答:例如你调用的变量是$liehuo_times,那么在php中输出的语句就是:<?php echo date("Y-m-d H:i:s",$liehuo_times); ?>,怎么样,简单吧?

    mysql里面存的时间是时间戳,10位数的
    怎么才能用函数转换成正常的时间函数输出?

    time();
    是获得当前时间,但获得的是一整型

    可以对此进行格式化
    date("Y-m-d H:i:s", time()) ;
    这样连时,分秒一起显示
    date("Y-m-d ", time()); 只年示年月日

    <?
    echo "本机所在的时区:".date("T")."<BR>";
    echo "PHP时间戳(UNIX秒):".mktime()."<BR>";
    echo "PHP时间(本地格式化后):".date("Y-m-d H:i:s")."<HR>";
    ?>
    <script language="">
    <!–
    var d;
    function myDate(timestamp) {
    d = new Date(timestamp);
    var jstimestamp = (d.getFullYear())+"-"+(d.getMonth()+1)+"-"+(d.getDate())+" "+(d.getHours())+":"+(d.getMinutes())+":"+(d.getSeconds());
    return jstimestamp;
    }
    var phptimestamp = <?=mktime()?>;
    var jstimestamp = myDate((phptimestamp*1000));

    document.writeln("PHP传递给时间:" + phptimestamp + "<BR>");
    alert("PHP传递给时间:" + phptimestamp);

    document.writeln("将PHP传递来的时间乘以1000后的时间戳:" + phptimestamp*1000 + "<BR>");
    alert("将PHP传递来的时间乘以1000后的时间戳:" + phptimestamp*1000);

    document.writeln("自身格式化PHP传递来乘以1000后的时间戳:" + d + "<BR>");
    alert("自身格式化PHP传递来乘以1000后的时间戳:" + d);

    document.writeln("转换后的时间:" + jstimestamp + "<BR>");
    alert("转换后的时间:" + jstimestamp);
    //–>
    </script>

    HP时间大的来分有两种,一是时间戳类型(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

    波比源码 – 精品源码模版分享 | www.bobi11.com
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

    波比源码 » php时间戳和正常时间显示的转换代码

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    波比源码
    一个高级程序员模板开发平台
    升级波友尊享更多特权立即升级