[PHP函数]日期时间函数
phpinfo()查看date模块是否支持,默认时区可能是UTC或者Europe/Berlin
如何设置时区?
- 修改PHP配置文件的date.timezone
- 在脚本中使用date_default_timezone_set()动态设置时区
- 在脚本中使用ini_set()设置PHP配置文件来动态设置时区
Date/Time函数
- 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-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() 将任何字符串的时间日期解析为时间戳
int strtotime(string $time [, int $now = time() ] )
正确的日期时间格式:
Time Formats
Date Formats
Compound Formats
Relative Formats :
now +1 year +2 months +3 weeks +4 hours +5 minutes +6 days
yesterday today noon last day of next month 2 days ago
monday next week thursday
- microtime()
- getdate() 取得日期时间信息
- gettimeofday 取得当前时间
- checkdate() 验证日期的合法性