我觉得这个有点傻,但除了必须调用date()3次之外,还有一种更优雅的方式来格式化日期数字后缀(st,th)吗?
我想在html中输出:
<p>January, 1<sup>st</sup>, 2011</p>
我现在在做什么(感觉非常沉重)在php中:
//I am omitting the <p> tags:
echo date('M j',$timestamp)
. '<sup>' . date('S', $timestamp) . '</sup>'
. date(' Y', $timestamp);
任何人都知道更好的方法吗?
答案 0 :(得分:15)
您只需要转义由日期函数解释的字符。
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
在PHP date documentation,您有一个列表,其中所有字符都被其特殊含义所取代。
答案 1 :(得分:12)
这对我有用:
echo date('M j\<\s\u\p\>S\<\/\s\u\p\> Y', $timestamp);
答案 2 :(得分:1)
我相信date
函数允许您输入所需的任何字符串,前提是您可以转义所有格式字符。
echo date('M j<\s\up>S<\/\s\up> Y', $timestamp);