PHP:使用 date() 在 php 中格式化日期数字后缀

发布于 2024-10-21 04:56:42 字数 413 浏览 3 评论 0原文

我觉得这个有点傻,但是除了必须调用 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);

有人知道更好的方法吗?

I feel a bit silly for this one, but is there a more elegant way to format the day number suffix (st, th) other than by having to call the date() 3 times?

What I am trying to output in html:

<p>January, 1<sup>st</sup>, 2011</p>

What I am doing now (feels very heavy) in php:

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

Anyone knows a better way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

陌生 2024-10-28 04:56:42

您只需转义日期函数解释的字符即可。

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 日期文档 中,您有一个列表,其中所有字符都替换为其特殊字符意义。

You just have to escape characters that are interpreted by the date function.

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

At PHP date documentation you have a list with all characters replaced by their special meaning.

九八野马 2024-10-28 04:56:42

这对我有用:

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

This worked for me:

echo date('M j\<\s\u\p\>S\<\/\s\u\p\> Y', $timestamp);
丶视觉 2024-10-28 04:56:42

我相信 date 函数允许您输入任何您想要的字符串,前提是您转义所有格式字符。

echo date('M j<\s\up>S<\/\s\up> Y', $timestamp);

I believe the date function allows you to put in any string that you want, provided that you escape all format characters.

echo date('M j<\s\up>S<\/\s\up> Y', $timestamp);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文