0

私はこのコードを持っています:

$date = substr($item[8], 7, 9);
$date = str_replace('/', '-', $date);

この時点で、$date には以下が含まれます。

12-21-12  <---- December 21, 2012

今、日付を input type="date" フレンドリーな形式に出力しようとしています:

<input type="date" name="date" value="<?php echo date('Y-m-d', strtotime($date)); ?>">

しかし、正しく出力されません。

type="date" を type="text" に変更すると、次の出力が表示されます。

1969-12-31

明らかに何かが正しく機能していません

date('m-d-Y', strtotime($date));

誰でも問題を解決するのを手伝ってもらえますか?

4

3 に答える 3

2

Y-m-d日付は、ではなく形式である必要がありますm-d-Y

于 2012-12-30T22:27:16.597 に答える
2

PHP 5.3以降を使用している場合は、このDateTimeクラスを使用することをお勧めします。

あなたの場合:

$date = DateTime::createFromFormat('m-d-y', '12-21-12');
echo $date->format('Y-m-d'); // 2012-12-21

前述のようstrtotime('12-21-12')に、日付の形式は月と年に関してあいまいです。

于 2012-12-30T22:29:15.267 に答える
0

削除する

$date = str_replace('/', '-', $date);

問題を解決します。

于 2012-12-30T22:40:57.770 に答える