0

文字列を人間が読める日付形式にフォーマットするのに苦労しています。

私は持っている:

07122012

そして取得する必要があります

2012 年 12 月 7 日

試した:

date("j M Y", strtotime($str));
4

3 に答える 3

3

DateTime::createFromFormat (PHP >= 5.3.0 で利用可能) を次のように使用できます。

$date = DateTime::createFromFormat('jmY', '07122012');
echo $date->format('d M Y') . "\n";
于 2012-12-10T18:27:48.567 に答える
2

試す:

$str = "07122012";
$stryear = substr($str,-4);
$strmonth = substr($str,2,2);
$strday = substr($str,0,2);

echo date("j M Y", strtotime($stryear.'-'.$strmonth.'-'.$strday));

それはトリックを行いますが、最善の方法はphpドキュメントを読むことです(おそらく組み込み機能があります)

于 2012-12-10T18:27:57.640 に答える
0

この文字列を直接解析できないため、最もエレガントな方法は次のとおりだと思います。

$date = "07122012";

// parse the dte fist correctly
$parsed_date = date_parse_from_format('dmY', $date);


// Make time, print date
echo date("j M Y", mktime(0, 0, 0, $parsed_date['month'], $parsed_date['day'], $parsed_date['year']));
于 2012-12-10T19:01:57.777 に答える