2011-11-10 10 views
3

私はこのyyyymmdd(20111109)のような日付列を持つSQLデータベースを持っています。整数の日付を書式付きのテキストに変換する

これを(D jS M)または(11月9日水曜日)に変換する方法を知りたいと思います。

月、日付、および序数の接尾辞の場合、imはsubstrとcaseを使用します。その平日のイムはイライラする。

もっと簡単な方法はありますか?

ありがとうございます。

答えて

2

あなたはより洗練された何かに興味がある場合:

$date = DateTime::createFromFormat('Ymd', '20111109'); 
    echo $date->format('D jS M'); 

これは長期的にはより信頼性が高いはずです。

+0

うわー。これはまさに私が探していたものです。まさに! – Nerve

+0

これはPHP> = 5.3でのみ動作することを忘れないでください。 5.2.xは、DateTime :: createFromFormat()を使用しようとするとエラーが発生します。これを回避するには、Zend FrameworkのZend_Dateを使用します。 – techouse

2

これは動作するはずです:

date_default_timezone_set('America/Los_Angeles'); 
$date = strtotime($your_string); 
$formatted_date = date('D jS M', $date); 
echo $formatted_date; 
+0

Ah。感謝百万人。私はstrtotimeがそのように動作するとは思っていませんでした – Nerve

+0

Np;)あなたがまだ持っていなければ、デフォルトタイムゾーンを設定するのを忘れないでください。 ;) – techouse

1

あなたが達成することができ、それらの組み合わせでstrtotimedate()機能

を使用してみてください:

echo date("D j, M", strtotime(20111109)); 
+0

いい仕事ダスカ。これは簡単で、自分のコードでうまく動作します。 –

関連する問題