日期/时间组件 包含时间和日期信息的所有输入、输出和存储。它的代码可以追溯到早期版本的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平台上的代码将更加方便和可靠。