威言威语
我愿像茶,苦涩留心,清香予人。
威言威语
当前位置: 首页 > 设计 > 正文

WordPress时间函数 the_time() 中英文混输

WordPress the_time()设置时间格式,the_time() 参数对应的含义。中文主题上使用一些英文格式,比如月份的英文显示。
WordPress时间函数 the_time() 中英文混输

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时间函数 the_time() 中英文混输:目前有 2 条评论

  1. 子寒互动视觉
    板凳
    子寒互动视觉:Internet Explorer 8.0 Windows XP

    :cool: 这个很有用的说,貌似我一直都没有在意这些细节,随wordpress默认是啥样就是啥样,看来要细致一些了,感谢博主分享。

    2013-03-10 12:01 回复
  2. 南楼丹霞
    沙发
    南楼丹霞:Google Chrome 7.0.517.17 Windows XP

    收藏了。感谢一下威哥!

    2012-04-19 16:43 回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

gravatar

question razz sad smile redface biggrin eek shock confused cool lol mad rolleyes wink cry