PHP的时间日期与实例应用:日历核心程序

一、时间戳

1.19701-1-1到现在的秒数,用time()获取
2.格式化date("y-m-d h:i:s",time()),由于按国际标准,所以默认为伦敦时间
3.更改时区的方法:
    a.date("y-m-d h:i:s",time()+8*60*60);//东八区
    b.date_default_timezone_set("PRC");再用date
4.将格式化时间转换为时间戳:
    a.mktime(时,分,秒,月,日,年),年月日等数字超出范围自动转到下个周期,传参格式如下:
    int mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )
    b.给定规范的格式化时间,使用strtotime($time)来转换,支持很多格式(详细见手册)
    c.microtime():返回时间戳至微秒数,主要是用来测试某段脚本程序的执行所用的时间

二、实例:日历算法
注:年月日可以由get传入也可以默认当前值

    date_default_timezone_set('PRC');
    $year = isset($_GET['year']) ? $_GET['year'] : date('y');//当前年
    $month = isset($_GET['month']) ? $_GET['month'] : date('m');
    $day = isset($_GET['day']) ? $_GET['day'] : date('d');
    //当月的天数
    $days=date('t',mktime(0,0,0,$month,1,$year));
    //获取当月第一天星期几
    $firstDay=date('w',mktime(0,0,0,$month,1,$year));
    
    echo '<table border="1" width="300" align="center">';
    echo '<tr>';
    echo '<th style="background:blue">日</th>';    
    echo '<th style="background:blue">一</th>';    
    echo '<th style="background:blue">二</th>';    
    echo '<th style="background:blue">三</th>';    
    echo '<th style="background:blue">四</th>';    
    echo '<th style="background:blue">五</th>';    
    echo '<th style="background:blue">六</th>';    
    echo '</tr>';
    echo '<tr>';
    for($i=0;$i<$firstDay;$i++){
        echo '<th>&nbsp;</th>';
    }    
    $result='';
    for($j=1;$j<$days;$j++){
        $i++;
        if($j==$day){
            $result.='<th style="background:red">'.$j.'</th>';
        }else{
            $result.='<th>'.$j.'</th>';
        }
        
        if($i%7===0){
            $result.='</tr><tr>';
        }
    }    
    while($i%7!==0){
        $result.='<th>&nbsp;</th>';
        $i++;
    }
    echo $result;
    echo '</tr>';            
    echo '</table>';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值