日期时间函数
1.如何设置时区?
修改PHP配置文件的date.timezone
在脚本中使用date_default_timezone_set()动态设置时区
在脚本中使用ini_set()设置PHP配置文件来动态设置时区
2.
- date_default_timezone_set()
设定一个脚本中所有日期时间函数的默认时区
bool date_default_timezone_set(string $timezone_id)
参数时区标识符,国内可以使用 "Asia/Shanghai"
date.timezone = PRC
- date_default_timezone_get()
取得脚本中所有日期时间函数所使用的默认时区
- date() 格式化一个日期
string date( string $format [, int $timestamp] )
<?php echo date("Y年m月d日");
echo date("Y-m-d H:i:s"); echo date("y-n-j H:i:s"); echo date("y-n-j G:i:s"); echo date("y-n-j a h:i:s"); echo date("y/n/j A g:i:s"); echo date("t"); echo date("w"); echo date("L"); ?>
- time() 返回当前的时间戳
-
<?php echo "当前时间为:".date("Y-m-d H:i:s A")."<br>"; echo "一天之后的时间为:".date("Y-m-d H:i:s A", time()+24*60*60)."<br>"; echo "一周之后的时间为:".date("Y-m-d H:i:s A", time()+7*24*60*60)."<br>"; echo "30天之后的时间为:".date("Y-m-d H:i:s A", time()+30*24*60*60)."<br>"; ?>
- mktime() 取得一个日期的时间戳
int mktime([int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1] ] ] ] ] ] ])
参数从右到左可以省略,省略的参数会被设置为本地日期时间的当前值
-
<?php // 2000年7月1日 echo date("l", mktime(0,0,0,7,1,2016)); // 2006年4月5日 echo date("c", mktime(1,2,3,4,5,2016)); ?>
- strtotime() 将任何字符串的日期时间描述解析为 Unix 时间戳
int strtotime ( string $time
[, int $now
= time() ] )
1 <?php 2 echo strtotime("now"), " "; 3 echo strtotime("10 September 2000"), " "; 4 echo strtotime("+1 day"), " "; 5 echo strtotime("+1 week"), " "; 6 echo strtotime("+1 week 2 days 4 hours 2 seconds"), " "; 7 echo strtotime("next Thursday"), " "; 8 echo strtotime("last Monday"), " "; 9 ?>
- microtime()
microtime — 返回当前 Unix 时间戳和微秒数
- getdate — 取得日期/时间信息
- gettimeofday — 取得当前时间 print_r(gettimeofday());
- checkdate — 验证一个格里高里日期
bool checkdate ( int
$month
, int $day
, int $year
)检查由参数构成的日期的合法性。如果每个参数都正确定义了则会被认为是有效的。
<?php var_dump(checkdate(12, 31, 2000)); var_dump(checkdate(2, 29, 2001)); ?>
bool(true) bool(false)