php学习5-时间和日期

如果时间时区不对,使用时间是要先设定时区,使用date_default_timezone_set() 设置新时区

date_default_timezone_set('Asia/Shanghai');

echo date("Y/m/d/ H:i:s",filemtime($files));

关于date()函数

Date() 函数可把时间戳格式化为可读性更好的日期和时间。

语法:  date(format,timestamp)

time() 函数返回当前时间的 Unix 时间戳。

time(void)$nextWeek = time() + (7 * 24 * 60 * 60); // 7 days; 24 hours; 60 mins; 60secs
echo 'Now:       '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $nextWeek) ."\n";


 1 //方法一
 2 $startdate="2011-3-15 11:50:00";
 3 $enddate="2012-12-12 12:12:12";
 4 $date=floor((strtotime($enddate)-strtotime($startdate))/86400);
 5 $hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
 6 $minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
 7 $second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
 8 echo $date."天<br>";
 9 echo $hour."小时<br>";
10 echo $minute."分钟<br>";
11 echo $second."秒<br>";
12 //方法二
13 $one = strtotime('2011-05-08 07:02:40');//开始时间 时间戳
14 $tow = strtotime('2012-12-25 00:00:00');//结束时间 时间戳
15 $cle = $tow - $one; //得出时间戳差值
16 echo ceil($cle/60); //得出一共多少分钟
17 echo ceil($cle/3600); //得出一共多少小时
18 echo ceil($cle/3600/24); //得出一共多少天
19 
20 /*ceil()函数,即进一法取整*/
21 $d = cell($cle/3600/24);
22 $h = cell(($cle%(3600*24))/3600);  //%取余
23 $m = cell(($cle%(3600*24))/60);
24 echo "两个时间相差 $d$h 小时 $m 分"

 

  

date()函数 中format格式的各种字符表示
年 
Y   4 位数字完整表示的年份
y   2 位数字完整表示的年份


m 数字表示2位
n 数字表示无前导0

F 月份字母全拼
M 3个字母缩写

d 日期2个数字表示
j 日期数字表示无前导0
S 日期的序数后缀
l 星期几字母全拼表示
D 星期几的3字母表示
w 星期几的数字表示,周日=0周六=6
小时
h 12小时两位
g 12小时
H 24小时两位 
G 24小时
a am/pm
A AM/PM
0

i 两位数字表示
j 同上无前导0

s 两位数字表示
Z
完整日期
c
r
U

 echo strtotime("2020-04-07 12:34:00");
 echo "现在时间是:" . date("Y");//获取4位年份
 echo "现在时间是:" . intval(date("m"));//获取月份
 echo "现在时间是:" . intval(date("d"));//获取日期,小于10的前面不加0
 
 
 function getLatelyTime($type = ''){
    $now = time();
     $result = [];
     if($type == 'day'){
         $count_day=5;
         $nowday=intval(date("d"));
         if($nowday<5){$count_day=$nowday;}
        //最近几天
        for($i=0;$i<$count_day;$i++){
            //$result[] = date('Y-m-d',strtotime('-'.$i.' day', $now));
            
            $result[] = intval(date('d',strtotime('-'.$i.' day', $now)));
        }
    }
    elseif($type == 'week'){
        //最近一周
        for($i=0;$i<7;$i++){
            //$result[] = date('Y-m-d',strtotime('-'.$i.' day', $now));
            $result[] = date('d',strtotime('-'.$i.' day', $now));
        }
    }elseif($type == 'month'){
        //最近一个月
        for($i=0;$i<30;$i++){
            $result[] = date('Y-m-d',strtotime('-'.$i.' day', $now));
        }
    }elseif($type == 'year'){
        //最近一年
        for($i=0;$i<12;$i++){
            $result[] = date('Y-m',strtotime('-'.$i.' month', $now));
        }
    }
    return $result;
}


echo '<pre>';
print_r(getLatelyTime('day'))

 

posted @ 2014-06-12 15:51  fsl  阅读(418)  评论(0编辑  收藏  举报