ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2423|回复: 0

[细说PHP] 第14章PHP的时间和日期

[复制链接]
发表于 2013-8-7 22:39:22 | 显示全部楼层 |阅读模式
将日期和时间转变成UNIX时间戳

函数mktime()
<?php
        echo date("Y-m-d", mktime(0, 0, 0, 12, 36, 2008))."\n";        //日期超过31天,计算后输出 2009-01-05
        echo date("Y-m-d", mktime(0, 0, 0, 14, 1, 2010))."\n";         //月份超过12月,计算后输出 2011-02-01
        echo date("Y-m-d", mktime(0, 0, 0, 1, 1, 2012))."\n";         //没有问题的转变,输出结果 2012-01-01
        echo date("Y-m-d", mktime(0, 0, 0, 1, 1, 99))."\n";           //会将99年转变为1999年,   1990-01-01
?>

函数strtotime()
<?php        
        echo date("Y-m-d", strtotime("now"));                            //输出: 2012-04-05
        echo date("Y-m-d", strtotime("8 may 2012"));            //输出: 2012-05-08
        echo date("Y-m-d", strtotime("+1 day"));                    //输出: 2012-04-06
        echo date("Y-m-d", strtotime("last monday"));           //输出: 2012-04-02
?>
使用函数strtotime()编写一个纪念日的倒计时程序
<?php        
        $now = strtotime("now");                                         //当前时间        
        $endtime = strtotime("2014-08-18 08:08:08"); //设定毕业时间,转成时间戳
        
        $second = $endtime - $now;                                          //获取毕业时间到现在时间的时间戳(秒数)
        $year = floor($second/3600/24/365);                         //从这个时间戳中换算出年头数
        
        $temp = $second - $year*365*24*3600;                 //从时间戳中去掉整年的秒数,就剩下月份的秒数
        $month = floor($temp/3600/24/30);                         //从这个时间戳中换算出月数
        
        $temp = $temp - $month*30*24*3600;                         //从时间戳中去掉整月的秒数,就剩下天的秒数
        $day = floor($temp/3600/24);                                 //从这个时间戳中换算出剩余的天数
        
        $temp = $temp - $day*3600*24;                                 //从时间戳中去掉整天的秒数,就剩下小时的秒数
        $hour = floor($temp/3600);                                         //从这个时间戳中换算出剩余的小时数
        
        $temp = $temp - $hour*3600;                                         //从时间戳中去掉整小时的秒数,就剩下分的秒数
        $minute = floor($temp/60);                                         //从这个时间戳中换算出剩余的分数
        
        $second1 = $temp - $minute*60;                                 //最后就只有剩余的秒数了
        
        echo "距离培训毕业还有{$year}年{$month}月{$day}天{$hour}小时{$minute}分{$second1}秒。";
?>

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-19 01:13 , Processed in 0.035355 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表