WordPress时间函数及显示格式详解

在制作wordpress主题的过程中,有的时候我们会涉及到wordpress时间的格式,比如说:有的wordpress主题显示的是英文缩写 月份,有的是完整的英文月份,有的是数字月份,那么到底如何在wordpress显示这么丰富多彩的时间格式呢,这里是我搜集的一下关于 wordpress时间显示的代码和参数,希望能够对大家有所帮助:

  1. d:月份中的第几天,有前导零的两位数字,例如01 到 31;
  2. D:星期中的第几天,以文本表示,截取对应英文名称的前三个字母,例如Mon到Sun;
  3. j:月份中的第几天,没有前导零,例如1 到 31;
  4. l(L的小写形式):星期几,完整的文本格式,例如Sunday到Saturday;
  5. N:ISO-8601格式数字表示的星期中的第几天(PHP 5.1.0新加入),例如1(表示星期一) 到7(表示星期日);
  6. S:每月天数后面的英文后缀,2 个字符,例如st,nd,rd和th,可以和j一起使用;
  7. w(W的小写形式):星期中的第几天,数字表示,例如0(表示星期日) 到 6(表示星期六);
  8. z(Z的小写形式):年份中的第几天,例如0 到 366;

  1. F:月份,完整的文本格式,例如 January 或者 March;
  2. m:数字表示的月份,有前导零,01 到12;
  3. M:三个字母缩写表示的月份,例如Jan到Dec;
  4. n:数字表示的月份,没有前导零,1到12;
  5. t:给定月份所应有的天数,例如28,30,31;

  1. L:是否为闰年,如果是闰年则为1,否则为0;
  2. o(O的小写形式):ISO-8601格式年份数字。这和Y的值相同,只除了如果 ISO 的星期数(W)属于前一年或下一年,则用那一年。(PHP 5.1.0 新加入),例如1999,2003;
  3. Y:4 位数字表示的完整年份,例如1999,2003;
  4. y:2 位数字表示的年份,例如99,03;
  5. 由上面的说明可以看出,日期的表达方式是很多的,但其中一些并不常用。按照国人的习惯就可以这样表示时间:Y年n月j日,输出结果为2007年8 月5日。
  6. 上面讲的是日期(date)格式,下面再讲时间(time)格式。

时间

  1. a:小写的上午和下午值,am或pm;
  2. A:大写的上午和下午值,AM或PM;
  3. B:Swatch Internet 标准时,000到999;
  4. g:小时,12 小时格式,没有前导零,1到12;
  5. G:小时,24 小时格式,没有前导零,0到23;
  6. h:小时,12 小时格式,有前导零,01到12;
  7. H:小时,24 小时格式,有前导零,00到23;
  8. i:有前导零的分钟数,00到59;
  9. s:秒数,有前导零,00到59;

所以如果输出12小时制的时间则为:g:i a,结果为3:57 pm;24小时制为:G:i a,结果为15:57 pm。

了解以上PHP的时间格式就可以按照自己的使用习惯进行时间格式的设置了。

WordPress中可以通过the_time()和the_date()输出时间,且在使用上二者并没有明显的区别,可以使用 the_time()代替the_date(),

例如<p>Posted: <?php the_time(’F j, Y’); ?> at <?php the_time(’g:i a’); ?></p>,以上二标签必须在主循环中使用。

一些常用的特定格式显示函数

1、the_date_xml() 函数

调用格式:

< ?php the_date_xml(); ?>

输出格式:YYYY-MM-DD 如:2005-05-14

2、the_date() 函数

说明:此函数一般用于显示时间日期。根据官方文档的说法,当一个页面上有多篇发布于同一天的档案时,the_date() 函数仅在最先引用处显示,在这种情况下最好使用 the_time() 函数。见:http://codex.wordpress.org/Template_Tags/the_date。 调用格式:

< ?php the_date(’format’,’before’,’after’,echo); ?>

参数表:
format:(字符串型)定义时间日期格式的参数。
before:(字符串型)日期前放置的文本,无 缺省值。
after:(字符串型)日期后放置的文本,无缺省值。
echo:(布尔型)显示日期 (TRUE),或返回供 PHP 使用的日期(FALSE)。缺省值为 TRUE。

3、the_time() 函数

说明:此函数用于显示时间日期。根据官方文档的说法,此函数必须被使用在循环内。见:http://codex.wordpress.org/Template_Tags/the_time。 调用格式:

< ?php the_time(’format’); ?>

参数表:
format:(字符串型)定义时间日期格式的参数。

4、get_the_time() 函数

说明:根据官方文档的说法,此函数仅向 PHP 返回时间信息,并不显示时间日期,且必须被使用在循环内。见:http://codex.wordpress.org/Template_Tags/get_the_time。 调用格式:

< ?php get_the_time(’format’); ?>

参数表:
format:(字符串型)定义时间日期格式的参数。

以上三个函数format 参数可以使用的各项值:

a = 一般在12小时制显示时使用,显示当前是 am(上午)或 pm(下午)
A = 功能同上,区别是 am 或 pm 为大写
d = 一月中的哪一天,固定以两位数显示
F = 文字全称表示的月份
g = 12小时制的小时数,位数根据实际的时间决定
G = 24小时制的小时数,位数根据实际的时间决定
h = 12小时制的小时数,固定以两位数显示
H = 24小时制的小时数,固定以两位数显示
注:如当前时间是早上8点,用 h 参数输出的结果为 08,用 g 参数输出的结果为 8,换成大写后仅改变时制。
i = 当前分钟数
j = 一月中的哪一天,位数根据实际的日期决定
l = 文字表示的星期
L = 输出一个零,不知何用,望知道的兄弟指教。
m = 数字表示的月份
M = 英文缩写的月份
s = 当前秒数
S = 一般跟随参数 j 使用,效果是在天数后加上序数词后坠(st, nd ,rd 等)
Y = 4位数的年份
y = 2位数的年份

注:参数区分大小写,写在参数引号内的非参数字符不做处理,直接输出。

例如,以下格式字串:l, F j, Y

将生成如下格式的日期:星期五, 九月 24, 2004

5、single_month_title() 函数

调用格式:

< ?php single_month_title(’prefix’, display) ?>

参数表:
prefix:年和月的前缀

输出格式:prefix + MONTH + prefix + YEAR

如prefix 参数为“*”,显示结果将会是如下的样子:*February*2004

另外,php也可以通过mysql实现显示时间的功能:

DATE_FORMAT(date,format)

根据format字符串格式化date值。下列修饰符可以被用在format字符串中:

%M 月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位
%y 年, 数字, 2 位
%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31)
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12)
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59)
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天
%u 星期(0……52), 这里星期一是星期的第一天
%% 一个文字“%”