一、时间戳
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> </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> </th>';
$i++;
}
echo $result;
echo '</tr>';
echo '</table>';
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。