自定义日期和时间格式

自定义时间和日期格式

某些WordPress标签函数用于显示或返回日期和时间信息;例如the_date()the_time()

默认情况下,这些函数将按照管理后台 > 设置 > 常规中设置的格式显示或返回日期和时间。在这里自定义日期和时间格式将在整个WordPress安装中生效。

日期和时间格式化

请注意截图中每个日期和时间格式旁边的一串字符。这个字符串被称为格式字符串。每个字母代表日期或时间的特定部分。

例如,格式字符串

l, F j, Y

会创建一个看起来像这样的日期(请注意逗号是按字面读取的)

Friday, September 24, 2004

以下是上述字符串中每个格式字符所代表的含义

  • l = 星期几的全称(小写L)。
  • F = 月份的全称。
  • j = 月份中的日期。
  • Y = 四位数的年份。(小写y表示年份的后两位)

格式字符在PHP编程语言中是标准化并全球通用的。由于WordPress是用PHP编程语言编写的,您可以直接从PHP网站使用日期和时间格式字符表。

这里是一些更有用的项目表格

月份中的日期
d 数字,带前导零 01–31
j 数字,不带前导零 1–31
S 月份中日期的英文后缀 如1st、2nd或15th中的st、nd或th。
星期几
l 全称  (小写'L') 星期日 – 星期六
D 三个字母的名称 周一 – 周日
月份
m 数字,带前导零 01–12
n 数字,不带前导零 1–12
F 文本全称 一月 – 十二月
M 文本三字母缩写 一月缩写 – 十二月缩写
年份
Y 数字,4位数 例如:1999, 2003
y 数字,2位数 例如:99, 03
时间
a 小写 am, pm
A 大写 AM, PM
g 小时,12小时制,不带前导零 1–12
h 小时,12小时制,带前导零 01–12
G 小时,24小时制,不带前导零 0-23
H 小时,24小时制,带前导零 00-23
i 分钟,带前导零 00-59
s 秒,带前导零 00-59
T 时区缩写 例如:EST, MDT …
完整日期/时间
c ISO 8601 2004-02-12T15:19:21+00:00
r RFC 2822 Thu, 21 Dec 2000 16:01:07 +0200
U Unix时间戳(自Unix纪元以来的秒数) 1455880176

格式字符串示例

以下是一些日期格式及其结果输出的示例。

  • F j, Y g:i a – November 6, 2010 12:50 am
  • F j, Y – November 6, 2010
  • F, Y – November, 2010
  • g:i a – 12:50 am
  • g:i:s a – 12:50:48 am
  • l, F jS, Y – Saturday, November 6th, 2010
  • M j, Y @ G:i – Nov 6, 2010 @ 0:50
  • Y/m/d \a\t g:i A – 2010/11/06 at 12:50 AM
  • Y/m/d \a\t g:ia – 2010/11/06 at 12:50am
  • Y/m/d g:i:s A – 2010/11/06 12:50:48 AM
  • Y/m/d – 2010/11/06

覆盖通用设置格式

时间和日期函数接受格式字符串作为参数,以覆盖主题或插件文件中某些位置的默认日期和时间格式。与常规设置中一样,此格式字符串是一个字符模板,其中每个字符代表日期或时间的特定部分。

在模板文件中,将日期和时间格式字符串设置为the_time()模板标签的参数,看起来会像这样

Posted on <?php the_time( 'l, F jS, Y' ); ?>.

这将在您网站的前端呈现如下

Posted on Friday, September 24th, 2004.

本地化

要本地化日期和时间,请使用wp_date()函数。wp_date()函数的基本行为与PHP的date()函数相同,不同之处在于它还会将月份名称、星期几等内容翻译成网站的当前语言环境。您可以使用相同的参数将对date()的调用替换为对wp_date()的调用。

$date = wp_date( 'F j, Y' );
$time = wp_date( 'g:i a' );

或者,您可以将预定义格式包装在__()_e()中,以便翻译人员能够根据适当的本地格式调整日期和时间。如果这样做,您还应该包含一条翻译注释,让翻译人员知道日期格式指的是什么以及在哪里使用,以便他们能够准确地进行转换。

__( 'Y/m/d g:i:s a', 'textdomain' );

转义

PHP日期函数中有些字母没有关联的格式。例如,在格式字符串中传递x目前会返回字面上的x。然而,这在将来某个时候可能会改变,并且x可能会有一个与之关联的格式。

这就是为什么您应该始终使用\来转义日期格式字符串中的字面字符。请注意,在下面的示例中,单词of的每个字母都被转义了。

wp_date( __( 'l jS \o\f F Y', 'textdomain' ) );

此示例将在您网站的前端呈现如下

Saturday 25th of February 2017

这篇文章有帮助吗?如何改进?

首次发布

最后更新