Code
当前(2020)以本地化形式显示完整日期和时间的正确代码是通过新的WordPress核心功能实现的
wp_date()
:
echo wp_date( get_option( \'date_format\' ), get_post_timestamp() )
. wp_date( get_option( \'time_format\' ), get_post_timestamp() );
这段相对较短的代码片段:
2021及以后,遵守WordPress设置中要求的日期和时间格式选项进行适当的翻译是否应用设置中的正确时区被视为最佳做法
Rationale
随着
wp_date()
在WordPress 5.3(2019)中,WordPress在修复WordPress中时间工作的混乱和破坏方式方面取得了很大进展,特别是WordPress时间戳与Unix时间戳(又名time()的值)不同,但添加了时区偏移量的问题。之所以会产生混淆,是因为在Unix世界中,time()的输出(又名“Unix timestamp”)历史上总是以格林尼治标准时间(GMT)的形式出现,并因使用了“GMT”一词而变得更加复杂;unix时间戳;描述这些;WordPress时间戳;。新功能
wp_date()
执行您通常需要的本地化,并使用提供的GMT时间戳值正常工作。
注意,使用PHPdate_default_timezone_set()
设置站点时区(而非本地)仍然会破坏WordPress,但现在有了一些不错的替代方案,正如人们所期望的那样。值得注意的是date_default_timezone_set()
现在在站点运行状况中被检测为“关键”,因为它会中断WordPress和一些插件中的时间处理;如果确实在旧代码中使用它,则应尽快将其删除,并替换使用date()
具有wp_date()
.
Documentation
以下是开发新代码的团队编写的新日期和时间函数的更完整介绍:
https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/注意,一些新函数返回PHPDateTimeImmutable
使生活更加轻松的对象。此外,链接介绍中列出的所有函数现在都是核心函数,因此在通常的位置都有核心PHP手册页。
此外,它们还包括关于使用什么和不使用什么的注释(尽管目前缺乏代码示例)。