一、时间戳
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 '
echo '
';echo '
日';echo '
一';echo '
二';echo '
三';echo '
四';echo '
五';echo '
六';echo '
';echo '
';for($i=0;$i
echo '
';}
$result='';
for($j=1;$j
$i++;
if($j==$day){
$result.='
'.$j.'';}else{
$result.='
'.$j.'';}
if($i%7===0){
$result.='
';}
}
while($i%7!==0){
$result.='
';$i++;
}
echo $result;
echo '
';echo '
';