0

次の形式の日付文字列のセットがあります。

$date = 'month_name DD, YYYY';

私がやりたいのは、月の名前を3文字に短縮し、次のように年を末尾から削除することです。

$output = 'June 10, 2012';
print $output // Outputs 'Jun 10';

これまでのところ、私は次のことをしていますが、最初の単語を短くする方法を見つけることができませんでした:

print substr($date, 0, strrpos($date, ',')); // Outputs 'June 10';

どんな助けでもいただければ幸いです!

4

3 に答える 3

3

PHPのDateTimeクラスを使用します。

$string = 'June 10, 2012';
$date = DateTime::createFromFormat('F d, Y', $string, new DateTimeZone('America/New_York'));
echo $date->format('M d'); // Output: Jun 10

これは、異なるフォーマット間で時間を変換するための非常に安定した方法です。

デモ

于 2012-06-11T00:11:39.503 に答える
1
$tmp=explode(' ',$date);
$tmp=substr($tmp[0],0,3).' '.substr($tmp[1],-1);
echo $tmp;
于 2012-06-11T00:10:55.473 に答える
1
$date = explode(" ", substr($date, 0, strrpos($date, ',')));
// first word is month, second is the date.
$date[0] = substr($date[0],0,3);
$date = join(" ", $date); // now date contains your desired result
于 2012-06-11T00:13:41.837 に答える