php日期时间函数 整理

设定系统默认时区 date_default_timezone_get()

$tz='America/Los_Angeles';

返回系统默认时区 date_default_timezone_set($tz)  

 time()

函数返回当前时间戳

 PHP 5.1 起在 $_SERVER['REQUEST_TIME'] 中保存了发起该请求时刻的时间戳,

即time()=$_SERVER['REQUEST_TIME']    

echo time();

1382349671

 

microtime()

 计算程序运行时间中经常使用,返回时间的微秒值。  

不带参数是返回格式:“msec sec”;sec为秒数,msec为微秒数,均以‘秒’为单位

 带参数则返回一个浮点数

 echo gettimeofday(true).'<br />';  

print_r(gettimeofday());  

#返回:  1252307184.5781  Array ( [sec] => 1252307184 [usec] => 578148 [minuteswest] => 0 [dsttime] => 0 )  

 

 checkdate(month,day,year)

 验证一个格里高里日期,如果指定的值合法则返回true,否则返回false  

var_dump(checkdate(12,31,2008));  

var_dump(checkdate(2,29,2009));  

#返回:  bool(true)  bool(false)  

 

mktime(hour,minute,second,month,day,year,is_dst)

 返回一个日期的 Unix 时间戳。  

参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。  

is_dst 本参数可以设为 1,表示正处于夏时制时间(DST),0 表示不是夏时制,或者 -1(默认值)表示不知道是否是夏时制

 

gmmktime(hour,minute,second,month,day,year,is_dst)

 取得 GMT 日期的 UNIX 时间戳。  

与 mktime() 类似,不同的是返回值是格林威治标准时的时间戳(注:GMT时间值根据时区的设置不同,本函数的GMT日期的时区为UTC即格林威治标准时间, 返回值不会随时区设置‘date_default_timezone_set()’的变化而变化)    

 

strtotime(time,now)

 将任何英文文本的日期时间描述解析为 Unix 时间戳。  

如: echo strtotime("now"), "\n";   

 echo strtotime("10 September 2000"), "\n";   

 echo strtotime("+1 day"), "\n";   

 echo strtotime("+1 week"), "\n";    

echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";    

echo strtotime("next Thursday"), "\n";   

 echo strtotime("last Monday"), "\n";      

 

date(format,timestamp)

格式化一个本地时间/日期。

format            

返回结果格式  

timestamp (可选)  

被格式话的时间戳值,默认为当前时间戳  

年     大写Y、小写y (大写Y表示年四位数字,而小写y表示年的两位数字);  

月      大写F、大写M、小写m、小写n (大写F表示月份的英文全称,大写M表示月份的3个缩写字母,小写m表示带前导的数字,小写n表示不带前导数字)  

日      小写d、小写j、大写S (小写s表示带前导的数字,小写j表示不带前导数字,大写S表示日期后缀)

时      大写H、小写h、大写G、小写g、大写A、小写a (大写H表示24时制带前导,而小写h不带前导;

     大写G表示12时制带前导,而小写g不带前导;大写A表示大写的AM或PM,而小写a表示小写的am或pm)

分      小写i (小写i表示带前导的数字)

秒       小写s (小写s表示带前导的数字)  星期   小写w、大写W、小写l、大写D (小写w表示数字形式星期几,大写W表示一年中的星期数,带前导,小写i表示星期英文全称,大写D表示英文缩写)

 echo date('Y-m-d H:i:s');

 #返回:  2009-09-07 06:42:48    idate(format,timestamp)  将本地时间/日期格式化为整数  与 date() 不同,idate() 只接受一个字符作为 format 参数    getdate(timestamp)  取得日期/时间信息  print_r(getdate());  #返回:  Array ( [seconds] => 46 [minutes] => 35 [hours] => 6 [mday] => 7 [wday] => 1 [mon] => 9 [year] => 2009 [yday] => 249 [weekday] => Monday [month] => September [0] => 1252305346 )    gmdate(format,timestamp)  格式化 GMT/UTC 日期/时间  同 date() 函数 类似,不同的是返回的时间是格林威治标准时间(GMT)。

 

strftime(format,timestamp)  

根据区域设置格式化本地时间/日期  format      

时间的格式化样式  timestamp (可选)   指定的时间戳,默认为当前时间按戳  %a - 当前区域星期几的简写 %A - 当前区域星期几的全称 %b - 当前区域月份的简写 %B - 当前区域月份的全称 %c - 当前区域首选的日期时间表达

echo strftime('今天是%a-%A-%b-%B-%d.');

今天是Mon-Monday-Oct-October-21.

 

strptime(date,format)  

解析由 strftime() 生成的日期/时间  返回解析后的数组,出错则返回false  该函数可能被淘汰,

在php5.2中无法使用    

 

localtime ([ int $timestamp [, bool $is_associative ]] )  

取得本地时间  

函数返回一个数组,其结构和 C 函数调用返回的完全一样。  

localtime()的第一个参数是时间戳,如果没有给出则使用从 time() 返回的当前时间。  

第二个参数是 is_associative,如果设为 FALSE或未提供则返回的是普通的数字索引数组。

如果该参数设为 TRUE 则 localtime() 函数返回包含有所有从 C 的 localtime 函数调用所返回的不同单元的关联数组。  

$localtime = localtime();

$localtime_assoc = localtime(time(), true);

print_r($localtime);

print_r($localtime_assoc);

Array ( [0] => 11 [1] => 1 [2] => 18 [3] => 21 [4] => 9 [5] => 113 [6] => 1 [7] => 293 [8] => 0 )

Array ( [tm_sec] => 11 [tm_min] => 1 [tm_hour] => 18 [tm_mday] => 21 [tm_mon] => 9 [tm_year] => 113 [tm_wday] => 1 [tm_yday] => 293 [tm_isdst] => 0 )

 

参考:http://blog.csdn.net/chenhj1988918/article/details/7227813

posted @ 2013-10-21 18:12  小站记忆  阅读(400)  评论(0编辑  收藏  举报