我正在使用数组 $row[dt]; 从 mySQL 表(例如 2010-12-03)中提取 Ymd 形式的日期字符串;
echo $row["dt"]; // in a while loop
我想将该存储的字符串输出为“Mar 2nd”
我已经尝试过strtotime()
,date( "m d", $row['dt'] )
但它们不起作用..例如,后者只输出“Dec 31”
可以这样做吗?谢谢
我相信这就是您正在寻找的答案。j
而不是 the的原因d
是因为海报要求Mar 2nd。使用d
将输出Mar 02nd。
echo date("M jS", strtotime($row['dt']));
编辑:M 而不是 m。
看起来 PHP 没有对序数足够的内置支持,所以你必须手动完成。
在您的代码中包含以下函数:
function suffix($number) {
$last = substr($number, -1, 1);
switch($last) {
case "1": return "st";
case "2": return "nd";
case "3": return "rd";
default: return "th";
}
}
...那么您的 PHP 将是:
echo date( "m d", $row['dt'] ) . suffix( date( "d", $row['dt'] ) );