WordPress的时间显示格式是多样化的,你想要什么格式都能自由的定义,非常的方便。
在修改与制作 WordPress主题的过程中,我们难免会用到时间函数,这当然就涉及到了 WordPress 的时间格式。
那么我们只要对时间函数: the_time() 做一些对应的修改,就能达到我们想的效果,首先我得要知道那些参数对应的含义,这样用起来才会得心应手。
参数 | 参数描述 | 输出格式 | 举例(英文语言) | 举例(中文语言) |
---|---|---|---|---|
月的某一天 | ||||
d | 日期,带前导0 | 01–31 | 09 | 09 |
j | 日期,不带前导0 | 1–31 | 9 | 9 |
S | 每月某一天的英文后缀 | st, nd or th in the 1st, 2nd or 15th. | st/th | st/th |
t | 天数,当月共有多少天 | 28, 29, 30, 31 | 29 | 29 |
z | 天数,当年的第几天 | 0-365 | 49 | 49 |
星期 | ||||
l | 星期,全称(小写“L”) | Sunday – Saturday | Tuesday | 星期二 |
D | 星期,简称 | Mon – Sun | Tue | 周二 |
w | 星期,数字 | 0-6 | 2 | 2 |
W | 周数,数字,当年第几周 | 01-53 | 08 | 08 |
月份 | ||||
m | 月份,带前导0 | 01–12 | 02 | 02 |
n | 月份,不带前导0 | 1-12 | 2 | 2 |
F | 月份,全称 | January – December | February | 2月 |
M | 月份,简称 | Jan – Dec | Feb | 2月 |
年 | ||||
Y | 年份,4位数字 | 1999 | 2008 | 2008 |
y | 年份,2位数字 | 99 | 08 | 08 |
L | 是否为闰年,闰年则为1,否则为0 | 0, 1 | 1 | 1 |
时间 | ||||
a | 上下午 | am, pm | am/pm | 上午/下午 |
A | 上下午 | AM, PM | AM/PM | 上午/下午 |
g | 小时,12小时制,不带前导0 | 1–12 | 3 | 3 |
h | 小时,12小时制,带前导0 | 01–12 | 03 | 03 |
G | 小时,24小时制,不带前导0 | 0-23 | 3 | 3 |
H | 小时,24小时制,带前导0 | 00-23 | 03 | 03 |
i | 分钟,带前导0 | 00-59 | 08 | 08 |
s | 秒,带前导0 | 00-59 | 07 | 07 |
T | 时区,缩写 | EST, MDT, CST…… | CST | CST |
O | 时区 | +0800 | +0800 | +0800 |
完整日期/时间 | ||||
c | ISO 8601 | 2004-02-12T15:19:21+00:00 | 2008-02-19T00:31:32+08:00 | 2008-02-19T00:31:32+08:00 |
r | RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 | Tue, 19 Feb 2008 00:31:32 +0800 | 周二, 19 2月 2008 00:31:32 +0800 |
U | 时间戳、Unix时间戳 | 1455880176 | 1203352292 | 1203352292 |
表格中的信息主要来源于Wordpress的 Customize date and time format ,我又做了一些补充。
a = 一般在12小时制显示时使用,显示当前是 am(上午)或 pm(下午)
A = 功能同上,区别是 AM 或 PM 为大写
d = 一月中的哪一天,固定以两位数显示,如06
F = 文字全称表示的月份
g = 12小时制的小时数,位数根据实际的时间决定
G = 24小时制的小时数,位数根据实际的时间决定
h = 12小时制的小时数,固定以两位数显示
H = 24小时制的小时数,固定以两位数显示
注:如当前时间是早上8点,用 h 参数输出的结果为 08,用 g 参数输出的结果为 8,换成大写后仅改变时制。
i = 当前分钟数
I = 输出一个零,不知何用,望知道的兄弟指教。(大写 i)
j = 一月中的哪一天,位数根据实际的日期决定,如6
l = 文字表示的星期(小写 L)
L = 输出一个零,不知何用,望知道的兄弟指教。
m = 数字表示的月份
M = 英文缩写的月份
s = 当前秒数
S = 一般跟随参数 j 使用,效果是在天数后加上序数词后坠(st, nd ,rd 等)
Y = 4位数的年份
y = 2位数的年份
注:参数区分大小写,写在参数引号内的非参数字符不做处理,直接输出。
例如,以下格式字串:
l, F j, Y
将生成如下格式的日期:
星期五, 十一月 6, 2012
下面再举几个WordPress设置时间格式的例子:
•中文日期格式设置,年月日:如:2010年2月1日,则Wordpress the time函数的参数这样写:
<?php the_time('Y年n月j日'); ?>
•中文时间的设置,小时分秒:如:22:22:22,则Wordpress the time函数的参数这样写:
<?php the_time('G:i:s'); ?>
•星期格式设置,星期:如:2010年11月1日星期四,则Wordpress the time函数的参数这样写:
<?php the_time('Y年n月j日l'); ?>
当然,有时候我们主题喜欢中英文混输的日期显示格式,对于使用中文版 WordPress来说,这个就要做一些小小的调整了。这里以显示日志时间的月份为例,我们在主题中使用 the_time( ‘M’ ) 应该可以打印出一个 Sep 的英文简写的月份值。但是幸运而又不幸地是,WordPress 会非常人性化地为你翻译成“九”,说幸运,是因为 WordPress 的智能化让人感到高兴,说不幸是因为我确确实实就需要 Sep 这样的英文简写的时间格式,这让我如何是好。
那么这个时候我们如何办呢,从函数角度出发解决此问题,重置一下,避免汉化。
将函数:
<?php the_time('M');?>
替换成:
<?php echo date('M',get_the_time('U'));?>
这个时候我们就发现得到了我们需要的时间格式了。
<?php the_time('Y-m-j'); ?> 输出:2007-02-6
<?php the_time('y-n-j'); ?> 输出:07-2-6
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
<?php the_time('Y-M-j'); ?> 输出:2007-Feb-6
<?php the_time('Y-m-d'); ?> 输出:2007-02-06
大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导0;若需要月份带前导则使用小写d。
<?php the_time('Y-F-jS'); ?> 输出:2007-February-6th
大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。
小结:
表示年可以用大写的Y和小写y;
表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日可以用小写d和小写j,大写S表示日期的后缀。
下面主要说一下时间的参数的含义(时:分:秒):
默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
<?php the_time('g:i:s a'); ?> 输出:5:56:57 am
<?php the_time('h:i:s A'); ?> 输出:05:56:57 AM
小写g表示12小时制,无前导0,而小写h则表示有前导0的12小时制。
当使用12小时制时需要表明上下午,小写a表示小写的“am”和“pm”,大写A表示大写的“AM”和“PM”。
<?php the_time('G:i:s'); ?> 输出:8:02:26
<?php the_time('H:i:s'); ?> 输出:08:02:26
这个很有用的说,貌似我一直都没有在意这些细节,随wordpress默认是啥样就是啥样,看来要细致一些了,感谢博主分享。
收藏了。感谢一下威哥!