时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。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); //保留四位