日期/时间组件 包含时间和日期信息的所有输入、输出和存储。它的代码可以追溯到早期版本的PHP 4实现,并且经过了部分PHP 5改进。
在一年多的WP版本迭代中,我们运行了一个名为“ wp_date”的项目来修复和改进该组件,这些改进将集成到 WordPress 5.3。
通过将核心版本所需的PHP版本提高到5.6,我们改进了组件的API。
wp_timezone_string()
无论(timezone_string
/ gmt_offset
选项) 设置如何,都可以通过一种单一的方式检索站点时区。可能返回Region/Location
字符串或 ±NN:NN
偏移量。现在,两者都是内核支持的PHP版本的有效输入。wp_timezone()
检索站点时区作为DateTimeZone
对象。current_datetime()
检索当前时间作为DateTimeImmutable
对象。get_post_datetime()
检索文章时间作为DateTimeImmutable
对象。get_post_timestamp()
检索文章时间作为Unix时间戳。日期/时间组件依赖于所谓的“ WordPress时间戳”,即带有时区偏移量的Unix时间戳的总和。这导致许多错误,并且与上游PHP或任何外部系统缺乏互操作性。内联文档错误地将它们称为Unix时间戳。
没有向后兼容性完成,就不可能删除WP时间戳。但是我们在以下方面取得了重大进展:
current_time( 'timestamp' )
get_post_time( 'U' )
date_i18n( DATE_RFC3339, $timestamp + $offset )
DateTimeImmutable
对象:
time()
current_datetime()
get_post_datetime()
get_post_timestamp()
wp_date( DATE_RFC3339, $timestamp )
DATE_RFC3339
;DateTimeInterface
同一时区中的Unix时间戳,对象或字符串可比较的日期。日期/时间核心组件已收到急需的修复程序和一系列改进。带有时间和日期的WordPress平台上的代码将更加方便和可靠。