自定义时间和日期格式
某些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 amF j, Y
– November 6, 2010F, Y
– November, 2010g:i a
– 12:50 amg:i:s a
– 12:50:48 aml, F jS, Y
– Saturday, November 6th, 2010M j, Y @ G:i
– Nov 6, 2010 @ 0:50Y/m/d \a\t g:i A
– 2010/11/06 at 12:50 AMY/m/d \a\t g:ia
– 2010/11/06 at 12:50amY/m/d g:i:s A
– 2010/11/06 12:50:48 AMY/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
这篇文章有帮助吗?如何改进?
登录以提交反馈。如果您需要本文未涵盖的支持,请在支持论坛中提出您的问题。