获取WordPress当前日期/时间

时间:2012-02-14 作者:Brad Wickwire

在我的插件中,我试图将博客的当前日期/时间输入到代码中,但它似乎返回了一个奇怪的日期/时间。如果我在博客上写了一篇新文章,它确实显示了正确的日期/时间,所以我不确定问题出在哪里。我是否错误地处理了代码?(发布时间:发布日期:2012年2月13日22:45)

PHP代码

<?
$t_time = get_the_time( __( \'Y/m/d g:i:s A\' ) );
echo "<h1>BLOG TIME</h1>";
echo $t_time . "<br>";
echo "<br>";
echo "<h1>SERVER TIME</h1>";
echo date("Y/m/d g:i:s A");
?>
OUTPUTBLOG时间2011/05/20 10:28:16 PM

服务器时间2012年2月14日上午5:41:35

3 个回复
最合适的回答,由SO网友:Alex Older 整理而成

WordPress中有一个函数名为current_time(); 将“timestamp”或“mysql”传递给它,它会返回一个时间。

有关更多信息:https://developer.wordpress.org/reference/functions/current_time/

SO网友:Fluent-Themes

自WordPress5.3 current_time( \'timestamp\' )No longer recommended. 如果需要获得根据站点时区设置调整的时间,建议使用以下功能:

 1. current_datetime()
 2. time()
 3. get_post_datetime()
 4. get_post_timestamp()
为什么会发生这种变化依赖的日期/时间组件WordPress timestamp (在WordPress之前5.3), 这导致了很多bugs and lack of ability 使用上游PHP。

此处的详细信息:https://make.wordpress.org/core/2019/09/23/date-time-improvements-wp-5-3/

SO网友:Brian C

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手册页。

此外,它们还包括关于使用什么和不使用什么的注释(尽管目前缺乏代码示例)。

结束

相关推荐