1. 云栖社区>
  2. PHP教程>
  3. 正文

[转]在 WordPress 中如何使用 Date 和 Time

作者:用户 来源:互联网 时间:2017-12-01 20:22:36

datetimewordpress使用如何

[转]在 WordPress 中如何使用 Date 和 Time - 摘要: 本文讲的是[转]在 WordPress 中如何使用 Date 和 Time, 本文通过OscPress同步至oschina,最新版本请查看原文: https://www.cellmean.com/?p=1055 使用 Date 和 Time 是程序员一个非常日常的工作,比如定时发布,定时抓取信息等。PHP 提供很

[转]在 WordPress 中如何使用 Date 和 Time
本文通过OscPress同步至oschina,最新版本请查看原文: https://www.cellmean.com/?p=1055

使用 Date 和 Time 是程序员一个非常日常的工作,比如定时发布,定时抓取信息等。PHP 提供很多 date/time 函数,但是 WordPress 有自己的一套,下面讲解下 WordPress 中使用 Date 和 Time 的经验和坑。


[转]在 WordPress 中如何使用 Date 和 Time


时区 – Timezone

使用 date/time 第一个的要注意的时时区,很多错误都是因为这个引起的,比如定时发布的文章在错误的时间发布了(比如你想是北京时间明天早上8点发布的,但是发布在格林尼 治时间早上8点,即北京时间0点)。这种问题是非常难受的,并且非常难以去 debug,因为你得等着它再次运行才行。


WordPress 后台是可以让你设置时区的,在 设置 > 常规,并且可以使用下面代码获取:


$timezone_offet = get_option( 'gmt_offset' );

如果你的时间戳是 GMT,你可以使用下面代码转成本地时间:


$timezone_offet = get_option( 'gmt_offset' );
$time += $timezone_offet * 3600;
千万不要用 time()

time() 是用来获取当前时间的 UNIX 时间戳格式,但是 WordPress 有自己用来处理时间(可以同时处理 GMT 和本地时间)的函数:current_time()。


current_time( $type, $gmt = 0 );

这个函数返回博客的当前本地时间,可以使 MySQL 时间数据格式(YYYY-MM-DD HH:MM:SS),也可以是 UNIX 时间戳格式,第三个参数是用来设置返回 GMT 时间还是博客本地时间。



所以如果你的代码用的是 time(),改成:current_time( 'timestamp', 1 ),将返回 GMT 时间,如果要获取本地时间,使用 current_time( 'timestamp' )。


Date 和 time 格式

WordPress 让我们在 设置 > 常规 修改默认的时间格式,所以我们尽量在代码使用这个格式,而不要使用 date() 来生成,除非你自己要生成特殊的格式。


使用下面代码获取 WordPress 默认设置的时间格式:


$date_format = get_option( 'date_format' );
$time_format = get_option( 'time_format' );

下面例子以默认格式显示当前时间:


$date_format = get_option( 'date_format' );
$time_format = get_option( 'time_format' );
echo date( "{$date_format} {$time_format}", current_time( 'timestamp' ) );

一句话总结:我们在 PHP 中可以使用 Date 和 Time 做很多事情,但是一定要用 WordPress 方式使用它们。


感谢阅读本文,欢迎访问 微言 获取更多内容或查看原文


以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索date , time , wordpress , 使用 如何 ,以便于您获取更多的相关知识。