PHP:使用date()格式化php中的日期编号后缀

Reg*_*man 9 php formatting date

我觉得这个有点傻,但除了必须调用date()3次之外,是否有更优雅的方式来格式化日期数字后缀(st,th)?

我想用html输出的内容:

<p>January, 1<sup>st</sup>, 2011</p>
Run Code Online (Sandbox Code Playgroud)

我现在在做什么(感觉非常沉重)在php中:

//I am omitting the <p> tags:
echo date('M j',$timestamp)  
. '<sup>' . date('S', $timestamp) . '</sup>'  
. date(' Y', $timestamp);
Run Code Online (Sandbox Code Playgroud)

谁知道更好的方法?

acm*_*acm 16

您只需要转义由日期函数解释的字符.

echo date('M j<\sup>S</\sup> Y'); // < PHP 5.2.2
echo date('M j<\s\up>S</\s\up> Y'); // >= PHP 5.2.2
Run Code Online (Sandbox Code Playgroud)

PHP日期文档中,您有一个列表,其中所有字符都被其特殊含义所取代.


Tre*_*vor 12

这对我有用:

echo date('M j\<\s\u\p\>S\<\/\s\u\p\> Y', $timestamp);
Run Code Online (Sandbox Code Playgroud)