代码改变世界

PHP函数-时间和日期函数

2012-07-20 11:08  BytesLoop  阅读(315)  评论(0编辑  收藏  举报
  1. checkdate   验证日期的有效性
    1 <?php
    2 if(checkdate($month,$day,$year)==true){
    3     echo "数据录入成功";
    4 }else{
    5     echo "<script>alert('您输入的日期不合法!!');history.back();</script>";
    6 }
    7 ?>
  2. date   格式化一个本地时间/日期
    1 <?php
    2 date_default_timezone_set("Asia/Hong_Kong");
    3 $data=date("Y-m-d h:i:s");
    4 echo $data;
    5 echo date("\\T\o\d\a\y \i\s Y  M jS l");
    6 ?>
    1 <?php  //获取未来和过去的时间
    2 $today = mktime(0,0,0,date("m") ,date("d"),date("Y"));             //获取当前的时间
    3 $lastmonth = mktime(0,0,0,date("m")-1,date("d"), date("Y")-1);     //获取过去的时间
    4 $nextyear  = mktime(0,0,0,date("m")+1, date("d"), date("Y")+1);    //获取未来的时间
    5 echo date("Y-m-d",$lastmonth).'<br>';
    6 echo date("Y-m-d",$today).'<br>';
    7 echo date("Y-m-d",$nextyear).'<br>';
    8 ?>
    1 <?php  //通过 mktime()函数获取系统当前时间 
    2 $date = mktime(date("H")+8,date("i"),date("s"),date("m"),date("d"), date("Y"));   //在获取的标准时间上加8个小时
    3 echo date("Y-m-d H:i:s",$date);
    4 ?>
     1 <?php  // 使用不同的参数,格式化输出当前日期
     2 echo date("F j, Y, g:i a")."<br>";                 
     3 echo date("m.d.y")."<br>";                         
     4 echo date("j, n, Y")."<br>";                       
     5 echo date("Y-m-d")."<br>";                           
     6 echo date('h-i-s, j-m-y,我的一天')."<br>";  
     7 echo date('\I\t \i\s \t\h\e jS \d\a\y.')."<br>";   
     8 echo date("D M j G:i:s T Y")."<br>";               
     9 echo date('H:m:s \M \i\s\ \m\o\n\t\h')."<br>";     
    10 echo date("H:i:s 这是当前时间");                        
    11 ?> 
  3. getdate   获取日期/时间信息
    1 <pre>
    2 <?php
    3 print_r(getdate());                    
    4 ?> 
    5 </pre>  
  4. gettimeofday   获取当前时间
    1 <pre>
    2 <?php
    3 print_r(gettimeofday());                    
    4 ?> 
    5 </pre>  
  5. gmdate   格式化一个 GMT (格林威治标准时间) /UTC 日期/时间
    1 <?php
    2 ini_set("date.timezone","Asia/Hong_Kong");
    3 echo date("M d Y H:i:s").'<br>';        //Jul 20 2012 11:55:21
    4 echo gmdate("M d Y H:i:s").'<br>';        //Jul 20 2012 03:55:21
    5 ?>
  6. gmmktime   获取 GMT (Greenwich Mean Time) 日期的 UNIX 时间戳
    1 <?php
    2 $str=gmmktime(11,59,49,7,19,2012);
    3 echo ("UNIX 的格林威治时间戳为:".$str."<br>");  //UNIX 的格林威治时间戳为:1342699189
    4 echo(date("Y-m-d H:i:s",$str));         //2012-07-19 11:59:49
    5 ?>
  7. gmstrftime   根据区域设置格式化 GMT/UTC 时间/日期
    1 <?php
    2 date_default_timezone_set("Asia/Hong_Kong");
    3 echo strftime("%b %d %Y %H:%M:%S", mktime())."<br>";    //Jul 20 2012 12:08:09
    4 echo gmstrftime("%b %d %Y %H:%M:%S", mktime())."<br>";    //Jul 20 2012 04:08:09
    5 ?>
  8. localtime   获取本地时间
    1 <pre>
    2 <?php
    3 date_default_timezone_set("Asia/Hong_Kong");
    4 $day=time();
    5 print_r(localtime());
    6 echo '<br>';
    7 print_r(localtime($day,1));
    8 ?>
    9 </pre>
  9. microtime   返回当前 UNIX 时间戳和微秒数
     1 <?php  //应用microtime()函数来计算执行1000次for循环语句所需要的时间
     2 function getmicrotime(){
     3     list($usec,$sec)=explode(" ", microtime());
     4     return((float)$usec+(float)$sec);
     5 }
     6 $time_start=getmicrotime();
     7 for ($i=0; $i <1000 ; $i++) { 
     8     echo "s";
     9 }
    10 $time_end=getmicrotime();
    11 $time=$time_end-$time_start;
    12 echo "<br>";
    13 echo "执行for循环语句所需要的时间:".$time;
    14 ?>
     1 <?php  //将microtime()函数获取的时间戳作为随机数的种子来使用
     2 function make_seed(){
     3     list($seed, $seeds) = explode(' ', microtime());
     4     return (float) $seeds + ((float) $seed * 100000); 
     5 }
     6 mt_srand(make_seed());
     7 $mt_rand = mt_rand();
     8 $num=substr($mt_rand,1,5);
     9 for($i=0;$i<5;$i++){
    10     echo "<img src=images/".substr(strval($num),$i,1).".gif>";
    11 }
    12 ?>
  10. mktime   获取一个日期的 UNIX 时间戳
    1 <?php  //应用mktime()函数来计算和验证日期
    2 if($_POST['Submit']=true){
    3  $truedate=date("M-d-Y", mktime (0,0,0,$_POST["month"],$_POST["day"],$_POST["year"]));
    4 }
    5 ?> 
    1 <?php  //应用mktime()函数来获取每个月的最后一天
    2 $lastday = mktime (0,0,0,6,0,2007);
    3 echo strftime ("5月的最后一天是: %d", $lastday);    
    4 ?>
  11. strftime   根据区域设置格式化本地时间/日期
    1 <?php
    2 setlocale(LC_TIME,"C");
    3 print(strftime("今天是:%A")).'<br>';
    4 setlocale(LC_TIME,"fi_FI"); 
    5 print(strftime("今天是:%B 月 %d 日")).'<br>';
    6 setlocale(LC_TIME,"fr_FR"); 
    7 print(strftime("%c")).'<br>';
    8 ?>
  12. strtotime   将任何英文文本的日期时间描述解析为 UNIX 时间戳
     1 <?php
     2 echo strtotime("now"),"\n";
     3 echo "输出时间:".date("Y-m-d H:i:s",strtotime("now")),"<br>";
     4 echo strtotime("21 May 2012"),"\n";
     5 echo "输出时间:".date("Y-m-d H:i:s",strtotime("21 May 2012")),"<br>";
     6 echo strtotime("+3 day"),"\n";
     7 echo "输出时间:".date("Y-m-d",strtotime("+3 day")),"<br>";
     8 echo strtotime("+1 week"),"\n";
     9 echo strtotime("+1 week 2 days 3 hours 4 seconds"),"\n";
    10 echo strtotime("next Thursday"),"\n";
    11 echo strtotime("last Monday"),"\n";
    12 ?>
  13. time   返回当前的 UNIX 时间戳
    1 <?php
    2 echo "输出 time()函数获取的时间戳:".time().'<br>';
    3 echo date("Y-m-D",time());
    4 ?>