4

2010-02 を 2010 年 2 月に変換しようとしていますが、1969 年 12 月になり続けています。

mktime、strtotime、およびその 2 つの組み合わせを使用してみましたが、まだ実行できませんでした...

これは私が最近試したことです...

$path_title = date('F, Y', mktime(0,0,0,2,0,2010));
4

2 に答える 2

8

これはそれを行う方法です:

$dateString = '2010-02';
list($year, $month) = explode('-', $dateString);
$timeStamp = mktime(0, 0, 0, $month, 1, $year);
echo date('F, Y', $timestamp);

別の方法は次のとおりです。

$dateString = '2010-02';
$timestamp = strtotime($dateString . '-01');
echo date('F, Y', $timestamp);

strtotime「2010-02」のようなあいまいな日付を処理することはできませんが、完全な日付にすると機能するはずです。

それ以外の場合は、次のようなものを調べてくださいDateTime::createFromFormat

于 2010-02-09T02:42:53.737 に答える
0

これを試して:

$str = '2010-02';
echo date('F, Y',mktime(0,0,0,substr($str,-2),1,substr($str,0,4)));

に有効な値を使用していることを確認する必要がありますmktime()。質問に編集した例で0は、実際には初日から 1 日を引いた日であり、前月になります。

于 2010-02-09T02:40:10.950 に答える