A-A+

PHP日期时间函数的总结

2012年07月17日 PHP技术文章 暂无评论 阅读 285 views 次

PHP日期时间函数在PHP应用中是最重要的一环,几乎所有的网站上面都应用着PHP的日期函数,在我们上传的最新新闻中,需要有日期时间,在发微博时,显示日期时间,几乎无所不在,怎样掌握好PHP的日期时间函数呢,下面是一个关于PHP日期时间函数的总结。。可以进行参考一下。

<?php 
echo "<b>个人总结的有关日期和时间的函数</b><br/>"; 
echo "<br/>"; 
echo "1********************************1"; 
echo "<br/>"; 
echo date("Y-m-d jS H:i:s",time())."<br>"; 
$k3=time(); 
echo $k3; 
echo "<br/>"; 
//date()主要是对日期时间进行格式化,返回一个字符串,以方
便存储,参数较多,要参考手册或者参看date.php文件 

echo "<br/>"; 
echo "2********************************2"; 
echo "<br/>"; 
$k=strtotime("now"); 
echo $k; 
echo "<br/>"; 
echo date("Y-m-d jS H:i:s",$k)."<br>"; 
//strtotime()将英文日期转成UNIX时间戳 

echo "<br/>"; 
echo "3********************************3"; 
echo "<br>"; 
$today=getdate(); 
print_r($today); 
echo "<br>"; 
echo $today[year]; 
echo "<br>"; 
echo $today[year]-1; 
echo "<br>"; 
echo $today[0]; 
echo "<br>"; 
echo $today; 
//getdate() 获取日期时间信息的函数 返回的结果是数组,有不明白的可
参看 date.php 

echo "<br/><br/>"; 
echo "4********************************4"; 
echo "<br>"; 
echo date("Y-m-d H:i:s",mktime())."<br>"; 
$k4=mktime(); 
echo $k4; 
echo "<br/><br/><br/><br/>"; 
//mktime() 获取本地化时间戳的函数 

echo "实例<br/>"; 
echo "例1,明天的时间戳和明天的日期<br/>"; 
echo strtotime("+1 day"), "\n"; 
$k5=strtotime("+1 day"); 
$k6=date("M-d-Y jS H:i:s",$k5); 
echo $k6; 
//strtotime -- 将任何英文文本的日期时间描述解析为 Unix 时间 

echo "<br/><br/>"; 
echo "例2,昨天的日期和时间<br/>"; 

date_default_timezone_set("PRC"); 
//设置时间函数为北京时间 

$k=strtotime("-1 day"); 
$kk=date("M-d-Y jS H:i:s",$k); 
echo $kk; 
echo "<br/>"; 
echo "年月日表示:<br/>"; 

$k_year=date("Y",$k); 
$k_month=date("m",$k); 
$k_day=date("d",$k); 
$k_time=date("H:i:s",$k); 

echo $k_year."年".$k_month."月".$k_day."日".$k_time; 

?> 

<?php 
$today=getdate(); 
$todayt=gettimeofday(); 
//echo $taday; 只能输出array,在我这台电脑上是一片空白,说明
是一个数组,可以用print_r()来查数组里的内容 
print_r($today); 
echo "<br>"; 
print_r("今天是一年中的第".$today[yday]."天"); 
echo "<br>"; 
print_r($todayt); 

/* 
Array ( [seconds] => 42 [minutes] => 51 [hours] => 2 [mday
] => 16 [wday] => 2 [mon] => 12 [year] => 2008 [yday] => 3
50 [weekday] => Tuesday [month] => December [0] => 1229395902 ) 

返回的结果中scconds表示秒数 
minutes表示分钟数 hours小时(格林威治时间,和我们的时间相差8小时,即
结加8等于我们的时间) 
mday月份中第几天 
wday一周中的第几天 
mon月份 
year年份 
yday一年中的第多少天 
weekday星期的完整表示 
month月份的完整表示 
0代表从1970-1-1到现在的总秒数 
*/
echo "<br>"; 
echo date("\N\o\w \i\s jS \d\a\y");//我错在1少加了双引号;2j后
面的S要写成大写 
echo "<br>"; 
echo date("Y-m-d jS H:i:s",time())."<br>"; 
echo mktime(0,0,0,12,15,2008)."<br>";//返回一个本地化时间戳的函
数,结果是一个unix的时间戳,也就是以格林威治时间算起 
echo mktime(0,0,0,12,16,2008)."<br>"; 
echo date("M-d-Y",mktime(0,0,0,date("m")-1,date("d"),dat
e("y")))."<br>";//上个月的今天 
echo date("M-d-Y",mktime(0,0,0,date("m"),date("d"),dat
e("y")+1))."<br>";//明年的今天 
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, da
te("Y")); 
echo $tomorrow;//这是从php中文手册上看到的一个例子 
//echo date_default_timezone_get(); 
date_default_timezone_set("PRC"); 
//设置时区为中国北京标准时间或者是在php.ini中修改date.timezon
e值:date.timezone=Etc/GMT+8 
echo "<br>"; 
echo date("Y-m-d jS H:i:s",time())."<br>"; 
//strtime() 
echo date("Y-m-d H:i:s",strtotime("today"))."<br>"; 
echo date("Y-m-d H:i:s",strtotime("2 weeks ago"))."<br>"; 
echo date("Y-m-d H:i:s",strtotime("next Friday"))."<br>"; 
echo strtotime("now"), "\n"; 
//来自php中文手册 
echo strtotime("10 September 2000"), "\n"; 
echo strtotime("+1 day"), "\n"; 
echo strtotime("+1 week"), "\n"; 
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n"; 
echo strtotime("next Thursday"), "\n"; 
echo strtotime("last Monday"), "\n"; 
?>

<?php 
echo "当前时间戳是".time()."秒"; 
?> 

<?php 
$y=2008;//这个加不加引号都可以,原例子是加了引号的 
$m="4";//这个加不加引号都可以,原例子是加了引号的 
$d="31";//这个日期格式错误是错在4月没有31日,我后来复习时没有看出来是错
在哪里了 
echo "<br>"; 
echo "{$y}年{$m}月{$d}日";
if(checkdate($m,$d,$y)){ 
/* 
1我错在checkdate({$y}年{$m}月{$d}日 
2我错在if(checkdate({$m}{$d}{$y})) 
3我错在if(checkdate({$m},{$d},{$y})) 
4注意一定要按月日年的顺序 
*/ 
echo "你的日期格式正确"; 
}else{ 
echo "你的日期格式错误"; 
}
echo "<br>"; 
echo "<br>"; 
//以上结果再变一种写法为: 
echo "{$y}年{$m}月{$d}日"; 
if(!checkdate($m,$d,$y)){//否定后下面的输出也要换一下 
echo "你的日期格式错误"; 
}else{ 
echo "你的日期格式正确"; 
} 
?>
标签:

给我留言