PHP日期与时间

时间戳是自 1970 1 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。Unix时间戳(Unix timestamp),或称Unix时间(Unix time)POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间19700101000000秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他操作系统中被广泛采用。例如(1184557366表示2007-07-16 03:42:46)

1 //验验证时间
  //checkdate();月份,日,年;验证日期格式是否正确
  echo checkdate(12, 9, 2016); //1
  
2  // data();格式化日期和时间,重点
// Y表示四位数年份,y表示两位数的年份
// M表示英文的月份缩写,m表示阿拉伯数字的月份
// D表示英文下的日缩写,d表示阿拉伯数字
// H表示24小时制,h
// a上午或下午
  echo date('Y-m-d H:i:s a');
  echo date('Y-m-d H:i:s a',1184557366);第二个参数有的话就将时间戳转变为第一个参数定义格式的时间
  
  //取得当前时间,返回一个数组,是时间戳
  $a = gettimeofday(); //时间戳
  echo $a[0];

3  将时间戳转换为看得懂的时间,返回数组
  print_r(getdate()); //没有参数取得当前时间
  print_r(getdate(1184557366)); //接受时间戳转变为可见时间

4  //获取当前时间戳,可以用来调整时间,这很有用处,可以用来获取过去或未来的时间
  echo time();
  echo date('Y-m-d H:i:s',time()+(7*24*60*60)); 一周后的时间

5  //获取指定时间的时间戳,比如取得2008-8-8 08:08:08时间
  //不常用,常用下一个strtotime();
  //可以用来计算和现在的时间差:和time()相减。
  $time = mktime(8,8,8,8,8,2008);
  echo date('Y-m-d H:i:s a',$time);  //2008-08-08 08:08:08 am
  
6  //将可读时间转化为时间戳,返回字符串,比mktime();好一点
  echo strtotime('2010-7-16 15:15:15');
  
7  //获取当前文件最后修改时间:getlastmod()可以得到当前文件最后修改时间的时间戳。
  echo date('Y-m-d H:i:s',getlastmod());
  
8  //设置时区和GMT/UTC
  
  //设置时区和获取时区
  echo date_default_timezone_get(); //UTC
  date_default_timezone_set('Asia/Shanghai');
  echo date_default_timezone_get();

9  //取得本地时间localtime()函数可以取得本地时间数据,然后返回一个数组。
  //不常用
  date_default_timezone_set('Asia/Shanghai'); //设置时区
  print_r(localtime(time(),true)); //死的格式

10  //计算页面脚本运行时间:microtime()函数,该函数返回当前UNIX时间戳和微秒数。
  //echo microtime();  //第一个微秒,第二个时间戳
  //list($a,$b) = explode(' ', microtime());  //用空格切割获得的时间,然后赋值给$a $b
  //echo $b;

  function fn(){
      list($a,$b) = explode(' ', microtime());
      return $a+$b;
  }
  
  $start_time = fn();  //获取开始时间
  for ($i=0;$i<10000000;++$i){
      
  }
  $end_time = fn();   //获取结束时间
  
  echo round(($end_time-$start_time),4);  //保留四位

 

posted @ 2016-12-09 10:30  党兴明  阅读(173)  评论(0编辑  收藏  举报