Date, Time, and Timezones

时间:2013-08-24 作者:Greeso

我对在WordPress中使用日期/时间和时区有点困惑。我有以下问题:

“管理->设置”部分中时区设置的目的是什么?

假设当前格林尼治时间是20:00,假设我在东部时间(东部时间是16:00),那么博客的时间是如何节省的?

假设一位读者正在阅读帖子,而他/她位于土耳其。所以他们的当地时间是23:00,他们认为23:00是发布时间吗?

假设我使用的是自定义帖子类型,并且我有一个额外的日期/时间字段用于其他日期信息。如何确保自定义日期字段的行为与WordPress字段相同?

对于这些基本问题,我深表歉意,但我真的需要你的帮助来解释这些问题。

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

“管理->设置”部分中时区设置的目的是什么?

由于WordPress单独处理时区(与本机PHP功能不同),因此设置和结果存储在选项中。

无论何时需要进行任何与时区相关的操作,都会检索时区设置并在计算/输出中使用。

假设当前格林尼治时间是20:00,假设我在美国东部时间(所以现在是美国东部时间16:00),博客的时间是如何保存的?

每个帖子的数据库中都有两个日期字段。它们都存储日期,没有时区信息,post_date 假定处于当前时区设置中,并且post_date_gmt 假定为UTC。

不幸的是,许多WP代码依赖于post_date 一个,它会导致许多错误。例如,如果更改了时区设置,则所有过去的帖子现在都有错误的时间,因为它们存储在与当前时区不同的时区中。

假设读者正在阅读帖子,并且他/她位于土耳其。所以他们的当地时间是23:00,他们认为23:00是发布时间吗?

否,WP进程和输出时间服务器端,根据其设置。任何客户端设置都是无关的,除非有目的地实现,这是相对罕见的。

假设我使用的是自定义帖子类型,并且我有一个额外的日期/时间字段用于其他日期信息。如何确保自定义日期字段的行为与WordPress字段相同?

不要。WP做这件事的方式是一个非常古老和非常习惯的混乱,有大量的bug。

任何干净的解决方案都应该使用严格明确的日期存储,例如Unix时间戳。具体的选择在很大程度上取决于需要对哪些信息进行处理,以及人类在存储级别上的可读性是否重要。

SO网友:Mayeenul Islam

第一:管理->设置部分中时区设置的目的
二:如何节省博客的时间?

要设置当地时间,请使用wp admin;设置-时区。有一条评论说:“选择一个与你在同一时区的城市。”对于每个博客帖子,数据库中有两个字段:post_datepost_date_gmt. 因此,每当你保存一篇文章或一篇文章的草稿时,都需要时间——当地时间和GMT。当地时间(post_date) 由您在“设置-时区”中所做的设置生成。

第三:用户是否将本地时间视为发布时间?

由于帖子是用两个时间(UTC和当地时间)保存的,因此帖子将以日期和;你的时间,而不是他们的时间,如果你的设置是这样的话。

第四:如何确保自定义日期字段的行为类似于WordPress字段?

如果您的自定义字段<input type="date"/>, 我希望它能与你当地的时间相配合;如果是这样的话<input type="datetime"/> 然后它将生成UTC时间,如果是<input type="datetime-local"/> 然后,它将允许您选择当地时间。但对我来说,最后两种选择都是一样的
为了便于理解,自定义字段的工作方式类似于string. 因此,无论你在这个领域输入什么,你都会从中得到什么。只要确保输入的内容与您想要的内容完全一致,它就会返回相同的内容。(More on WordPress Custom Fields)

SO网友:Mark H

“您博客的时区默认设置为协调世界时,UTC,位于英国伦敦。如果您生活在世界的另一个地区,您可能会想更改此选项。”-http://en.support.wordpress.com/settings/general-settings/

帖子以UTC格式保存。

用户将根据博客设置(而不是他们的本地时间)查看帖子创建时间。

我不完全理解您的最后一点,但您可以使用函数对自定义字段进行编码。wordpress模板中的php文件。-http://codex.wordpress.org/Custom_Fields

http://codex.wordpress.org/Function_Reference/current_time

结束

相关推荐

Can't update old posts 3.5.2

Background: 我在一个客户网站上工作,我还没有自己建立。该网站运行得很好,当我得到它时,wp\\u页眉和wp\\u页脚丢失了,javascript文件在body标记关闭之前都链接到了。WordPress 3.5.2Issue: 旧帖子和打印更新内容时存在此问题。内容打印在foreach中,其中应显示一篇文章的附加图像。由于某种原因,旧内容被困在那里。我可以更新帖子,查看帖子的内容,但我无法在我试图显示的特定位置看到新内容。foreach生成一个滚动div,该div随图像前后移动。I\'ve tr