本文共 3291 字,大约阅读时间需要 10 分钟。
PHP教程:
===========================================================
PHP中所有函数都是UNIX纪元的,即从1970年1月1日的。日期是从这个开始的秒数。当函数调用从这时候计的秒数时,就把它当作(timestamp)时间戳。
本地时间函数 1. string date(string format,inieger timestamp) 该函数返回一个表示时间的字符串,是由string format 控制的。 如: print(date("Y年 m月d日");//输出当前,年月日. print(date("Y年 m月d日",60*60*24*365*10);//输出1980年1月1日. ?> 也许你会问,怎麽timestamp呢?若timestamp为空时,或不写时,表示当前时间一刻timestamp. 表示年份的控制符: Y---四位的年份 y---两位的年份 表示月份的控制符: m---从1-12的月份 F---英文月份名 M---简写的月份名 表示日号的控制符: d---前面有0的月份中日期 j--前面没有0的日号 表示星期的控制符: l--英文星期 D--简写的星期 表示小时的控制符: h--从1到12小时 H---从0到23的小时 表示上下午的控制符 a ---am或pm A---AM或PM 表示分钟的控制符: i---取值00-59 另外的 z--一年中的日期 2. array getdate(integer timestamp) 该函数返回一个矩阵. 如: $current_date=getdate(); print($current_date("hours")); print($current_date("minutes"); print($current_date("seconds"); ?> 说明: 元素 描述 hours 24小时格式的小时 mday 月份中日期 minutes 分钟 mon 数字形式的月份 month 月份全称 seconds 秒数 wday 从0到6的数字形式的星期几 weekday 星期几的名称 year 年份 0 时间戳即从1970年1月1日到现在的秒数 yday 一年中数字形式的日期 3. boolean checkdate(integer month,integer day,integer year) 该函数检查日期是否合法.如: if(checkdate(2,29,1980)) print("日期合法!n"); ?> 4. integer time() 该函数获得当前时间戳.如: print(time());//输出一大串整数 ?> 5. integer mktime(integer hour,integer minutes,integer seconds,integer month, integer day,integer year) 该函数返回给出日期的时间戳,即从1970年1月1日到现在的秒数. 如某参数超出范围,该函数也可以它,如13月即为第二年的一月. 如: $currenthour=date("H"); print("50个小时后为:"); print(date("h:i A l F dS,Y",mktime($currenthour+50))); print("n"); ?> 6. string microtime() 该函数返回一个字符串,由当前时间的毫秒数+空格+从1970年开始的秒数 print("start:microtime()n"); for($index=0;$index<1000;$index++) print("good!"); print("stop:microtime()n"); ?> 还有,各林威治标准时间函数,不常用我就不说了!常用的就这些。==================
我想有很多人都在用date()函数来获取时间,然后在数据库中,使用datetime格式来储存,这个方法不是说比用time()函数差,只不过在PHP中使用time函数获得的是Unix时间戳,这个是很精确的时间,关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。所以我建议大家使用time函数来获得时间。
那么如何来使用time函数呢.下面我给个例子大家就会明白了$time=time()
/* 下面是显示怎么输出,在实际使用当中,我们只要把上面获得的时间储存在数据库中,需要显示的时候在用下面的方法来使用*/ $time=date("y-m-d H:i:s",$time); //然后我们把$time当成date()函数的参数用"Y-m-d //H:i:S"的格式来输出,这样比较方便我们查看 echo $time; //输出的结果应该是类似2006-11-22 22:42:23的时间格式 ?>
=======================
格式化系统时间$_SERVER['REQUEST_TIME']
2008-07-11 14:11
$thisdate=date('Y-m-d',$_SERVER['REQUEST_TIME']);
$thisdate_arr=explode("-",date('Y-m-d',$_SERVER['REQUEST_TIME'])); $thisyear=$thisdate_arr[0]; $thismonth=$thisdate_arr[1]; $thisday=$thisdate_arr[2]; echo $thisyear,'年',$thismonth,'月',$thisday,'日'; echo ''; //var_dump($thisdate_arr); echo ''; $month = (int)$thismonth;//php中将string(字符串型)转换为int(整型); //var_dump($month); ?>
=================
上网都到这么一个函数:
function tranTime($time){
$rtime = $time; $time = time()-$time;if ($time<60){
$str = "刚刚"; }elseif ($time<60*10){ $str = "一分钟前"; }elseif ($time<60*20){ $str = "十分钟前"; }elseif ($time<60*60){ $str = "三十分钟前"; }elseif ($time<60*60*2){ $str = "一小时前"; }elseif ($time<60*60*5){ $str = "两小时前"; }elseif ($time<60*60*12){ $str = "五小时前"; }elseif ($time<60*60*24){ $str = "十二小时前"; }elseif ($time<60*60*24*2){ $str = "一天前"; }elseif ($time<60*60*24*5){ $str = "两天前"; }elseif ($time<60*60*24*7){ $str = "五天前"; }elseif ($time<60*60*24*7*2){ $str = "一周前"; }elseif ($time<60*60*24*7*3){ $str = "两周前"; }elseif ($time<60*60*24*7*3){ $str = "三周前"; }else{ $str = date("y/m/d",$rtime); } return $str; }
转载地址:http://outxi.baihongyu.com/