1

59を2012年2月29日に変換したいと思います。私はすでに今年が2012年であることを知っています。私は次のコードを試してみます。しかし、それは2012-mar-01を与えます。

$string = '59 2012';
$date1 = date_create_from_format('z Y', $string);
$date_time = date_format($date1, 'Y-m-d');
echo $date_time;
4

3 に答える 3

2

試す:

echo date('Y-m-d', strtotime(date('Y-01-01')) + 59 * 86400);

アップデート:

コードの問題は、zが から始まっているため0、 をマイナスする必要があるためです1

$date1 = date_create_from_format('z', 59 - 1);
$date_time = date_format($date1, 'Y-m-d');
echo $date_time;
于 2012-08-29T10:11:21.757 に答える
1

代わりに使用できますstrtotime()

echo date('Y-m-d', strtotime('2012-01 +59 day'));
于 2012-08-29T10:08:41.387 に答える