简介:可以用这些函数得到 PHP 所运行的服务器的日期和时间。可以用这些函数将日期和时间以很多不同方式格式化输出。下面对最常用的几个进行详细说明。
date_default_timezone_get — 取得一个脚本中所有日期时间函数所使用的默认时区
date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区
- php
- date_default_timezone_set('PRC');
- echo date('Y-m-d H:i:s') . '
';- echo date_default_timezone_get(); // PRC
- ?>
同时说明下在PHP程序中设置时区的方法:
- php
- //天涯PHP博客 http://blog.phpha.com
- date_default_timezone_set('Asia/Shanghai');//'Asia/Shanghai' 亚洲/上海
- date_default_timezone_set('Asia/Chongqing');//其中Asia/Chongqing'为“亚洲/重庆”
- date_default_timezone_set('PRC');//其中PRC为“中华人民共和国”
- ini_set('date.timezone','Etc/GMT-8');
- ini_set('date.timezone','PRC');
- ini_set('date.timezone','Asia/Shanghai');
- ini_set('date.timezone','Asia/Chongqing');
- ?>
date — 格式化一个本地时间/日期
- string date ( string $format [, int $timestamp ] )
返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()。
- php
- //下面是最常用的情况
- //获取当前时间的年月日时分秒格式
- echo date('Y-m-d H:i:s');
- ?>
getdate — 取得日期/时间信息
- php
- date_default_timezone_set('PRC');
- $row = getdate();
- print_r($row);
- ?>
- 输出如下:
- //天涯PHP博客 http://blog.phpha.com
- Array
- (
- [seconds] => 17 //秒
- [minutes] => 57 //分
- [hours] => 16 //时
- [mday] => 6 //月份中第几天
- [wday] => 2 //星期中第几天
- [mon] => 11 //月
- [year] => 2012 //年
- [yday] => 310 //一年之中的第几天
- [weekday] => Tuesday //星期几
- [month] => November //几月份
- [0] => 1352192237 //Unix时间戳
- )
microtime — 返回当前 Unix 时间戳和微秒数
- php
- //天涯PHP博客 http://blog.phpha.com
- date_default_timezone_set('PRC');
- //输出 0.35937700 1352192809
- echo microtime();
- //获取脚本运行时间
- function microtime_float()
- {
- list($usec, $sec) = explode(' ', microtime());
- return ((float)$usec + (float)$sec);
- }
- $time_start = microtime_float();
- //Sleep for a while
- usleep(100);
- $time_end = microtime_float();
- $time = $time_end - $time_start;
- // 脚本运行时间为0.00016188621520996
- echo '
脚本运行时间为' . $time;- ?>
strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
【天涯注】确切的说,不只是英文吧,’2012-11-06 17:00:00′ 这样的数字字符串也可以。
- php
- //天涯PHP博客 http://blog.phpha.com
- echo strtotime('2012-11-06 17:00:00');
- 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";
- ?>
time — 返回当前的 Unix 时间戳
- php
- // 1352193513
- echo time();
- ?>