说明
函数current_time("mysql", $gmt)返回格式为“年-月-日 时:分:秒”的时间。如果$gmt=1,返回的时间为GMT时间;如果$gmt=0,返回的时间为浏览器客户端本地时间(由WordPress选项gmt_offset决定,在“常规”菜单下的“时区”选项中进行设置)。
警告: current_time('timestamp',1)返回(作为时间标记)服务器时间,而不是GMT时间!PHP函数time()返回的才是GMT时间,使用time()时不必再使用current_time('timestamp',1)。
警告: current_time('timestamp',0) 返回GMT + gmt_offset(服务器) + gmt_offset(浏览器)的时间标记——这是一个无意义的组合。
"timestamp"参数值几乎没有任何用处。
用法
current_time($type, $gmt = 0);
参数
$type
(字符串)(必需)返回的时间格式。可能的值包括:
- mysql
- timestamp
默认值:None
$type
(整数)(可选)所返回时间的时区(GMT或本地)。可能的值包括:
- 1
- 0
默认值:0
示例
下面的代码获取当前时间并将参数赋值给变量:
<?php $blogtime = current_time('mysql'); list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = split( '([^0-9])', $blogtime ); ?>
检查结果
将以下代码放入WordPress模板,在另一个时区的服务器(非W/LAMP本地机器)上试运行:
<?php echo "current_time('mysql') returns local server time: " . current_time('mysql') . '<br />'; ?> <?php echo "current_time('mysql',1) returns GMT: " . current_time('mysql',1) . '<br />'; ?> <?php echo "current_time('timestamp',1) returns timestamp of server time: " . date('Y-m-d H:i:s',current_time('timestamp',1)); ?> <?php echo "current_time('timestamp',0) doesn't mean anything: " . date('Y-m-d H:i:s',current_time('timestamp',0)); ?>
更正
如果用户希望current_time('timestamp', $gmt=0)能够正确发挥作用,需要满足以下说明:
说明
函数current_time_fixed("mysql", $gmt)返回格式为“年-月-日 时:分:秒”的时间。函数current_time_fixed("timestamp", $gmt)返回时间作为Unix时间标记。如果$gmt=1,返回的时间为GMT时间;如果$gmt=0,返回的时间为浏览器客户端本地时间(由WordPress选项gmt_offset决定,在“常规”菜单下的“时区”选项中进行设置)。
function current_time_fixed( $type, $gmt = 0 ) { $t = ( $gmt ) ? gmdate( 'Y-m-d H:i:s' ) : gmdate( 'Y-m-d H:i:s', ( time() + ( get_option( 'gmt_offset' ) * 3600 ) ) ); switch ( $type ) { case 'mysql': return $t; break; case 'timestamp': return strtotime($t); break; } }
分类:中文手册