分享

php的日期相关

 英昌知识汇聚馆 2011-11-17
<?php

  /**
   * 日期
   */
  //验证日期checkdate()函数能很好地验证日期,如果提供的日期有效,则返回true,否则返回false。
  echo checkdate(2, 21, 2008); //返回1  .三个参数  1:月   2:日   3:年
  echo '<br/>';
  if (checkdate(4, 24, 2010)){
      echo '日期合法';
  }else {
      echo '日期不合法';
  }
  echo '<br/>';
  //格式化时间和日期date():函数返回根据预定义指令格式化时间和日期的字符串形式。重点
  echo date('Y'); //表示四位数的年 如:2011
  echo '<br/>';
  echo date('m'); //表示两位数的月份 如:09
  echo '<br/>';
  echo date('d'); //表示两位数的日 如:23
  echo '<br/>';
  //时、分、秒
  echo '<br/>';
  //默认的东八区,有8个小时的时差
  echo date('H'); //小时
  echo '<br/>';
  echo date('i'); //分
  echo '<br/>';
  echo date('s'); //秒
  echo '<br/>';
  echo date('时间戳是:U');//返回时间戳
   echo '<br/>';
 // print '<br/>';
  echo date('现在的时间是:Y--m--d H:m:s');
   echo '<br/>';

 
  //getdate():将时间戳转换成友好的值,该函数接受一个时间戳,并返回一个由其各部分组成的关联数组。如果不给参数,则返回当前时间和日期。
    print_r(getdate());//通过它。可以查看到数组的下标名
    echo '<br/>';
   $t = getdate();
   echo $t['year'];  //下标名,需要参照数组中的结果
   echo '<br/>';
   //传递一个时间戳的方式
   print_r(getdate(1184557366));
   
  //date()函数第二个参数就是时间戳,如果第二个参数省略了,那么就返回当前时间。否则就返回第二个参数值对应的时间
  //也可以将时间戳转换成想要的日期格式
   echo date('Y-m-d H:i:s',1184557366);
   echo '<br/>';
   
   
 // gettimeofday():取得当前时间的时间戳,并以数组的形式返回
     print_r( gettimeofday());
 //直接获取当时时间戳
 echo '<br/>';
 echo time();
 echo '<br/>';
 //time()函数非常有用,可以用来调整时差.并可设置过去、现在、将来
 echo date('Y-m-d H:i:s',time()+(60*60*8));//可以解决东八区的时差问题
 echo '<br/>';
 
 //获取特定指定时间的时间戳。比如:2009-10-23 10:12:21
 echo mktime(10,12,21,10,23,2009);
 //通过date()函数验证上面的函数是否正确。将它还原回去看看
 echo '<br/>';
 echo date('Y-m-d H:i:s',1256292741);
 echo '<br/>';
 
 //使用时间戳计算时间差。mktime()该函数不太好用。
 $now = time();
 $wnow = mktime(0,0,0,16,8,2012);
 //两个时间戳相减,得到秒数。
 echo '两个时间戳相减,得到秒数:';
 echo $wnow-$now;
 echo '<br/>';
 echo '得到小时:';
 echo ($wnow-$now)/60/60;   //得到小时
 echo '<br/>';
 echo '将得到的小时,进行四舍五入,并保留小数点2位';
 echo round(($wnow-$now)/60/60,2);//将得到的小时,进行四舍五入
 echo '<br/>';
 
 //将人们可读的时间,字符串形式,转换成时间戳
 echo '将人们可读的时间以字符串形式转换成时间戳,更人性化:';
 echo strtotime('2010-9-16 13:21:55');
 echo '<br/>';
 
 //获取当前文件最后修改时间:getlastmod()可以得到当前文件最后修改时间的时间戳
 echo '最后修改文件的时间为:';
 echo date('Y-m-d H:i:s',getlastmod());
  echo '<br/>';
 
 
  //1.设置时区和GMT/UTC。修改php.ini文件中的位置,找到[date]下的;date.timezone=选项,将该项修改为date.timezone=Asia/Shanghai,然后重新启动Apache服务器。
  //2.也可以使用putenv()函数设置当前的默认时区。
  echo '显示相差8小时的时间';
  echo date('Y-m-d H:i:s');  //显示相差8小时
  echo '<br/>';
 
  //通过设置时区
  echo '通过设置时区的方式,来显示正常的时间(不会有时区差别):';
  putenv('TZ=Asia/Shanghai');//会改变整个系统的环境变量,会影响到下面的配置。如需测试,请把该行注释
  echo date('Y-m-d H:i:s');
  echo '<br/>';
  //重点推荐下面两个函数来操作时区
  echo '获取当时的时区:';
  echo date_default_timezone_get();   //如果注释103行,则结果为UTC
  echo '。    ';
  echo '在当前的时区环境下输出日期日间:';
  echo date('Y-m-d H:i:s');
 
  echo '<br/>';
  echo '开始配置默认时区:';
  date_default_timezone_set('Asia/Shanghai');
   echo date('Y-m-d H:i:s');
   echo '<br/>';
   
   //localtime():可以取得本地时间数据,然后返回一个数组
   date_default_timezone_set('Asia/Shanghai');
   print_r (localtime(time(),true));
   echo '<br/>';
   
   
   //microtime():返回时间戳和微秒数,并不是返回数组。用来计算页面脚本的运行时间
   //算法:用页面结束是的时间减去页面打开时的时间
   list($a,$b)=explode(' ', microtime());
   echo $a;
   echo '<br/>';
   echo $b;
   echo '<br/>';
   
   //计算页面运行时间
   //算法:用页面加载结束时间减去页面加载时的时间
   function microtime_float()//定义计算时间的函数
{
    list($a, $b) = explode(" ", microtime());//以空格分开
    return ((float)$a + (float)$b);
}

$time_start = microtime_float();//定义页面加载时的时间
echo '输出加载时间:';
echo $time_start;
echo '<br/>';

for ($i=0;$i<1000000;$i++){
    //执行for循环
}

$time_end = microtime_float();//定义页面加载结束的时间
echo '输出页面结束时间:';
echo $time_end;
echo '<br/>';
$time = $time_end - $time_start;

echo '页面运行时间为:'."$time";
   
   
 
?>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多