2

MySQLが日付を0000-00-00形式で保存していることに気付きました。しかし、私のアプリケーションでは、この00-00-0000形式の日付を検証しています。日付が別の形式で正しく保存されていないことに気付きました。mysqlデータ形式を00-00-0000形式に変更できますか?

4

4 に答える 4

2

00-00-0000形式は完全に明確ではありません。たとえば、それは可能性がありdd-mm-yyyyます。

次のように、日付を簡単に変換できます。

$mydate = '24-12-2012';
// create date object by using a known format
// see manual page for all format specifiers
$d = DateTime::createFromFormat('d-m-Y', $mydate);

// format date object in yyyy-mm-dd
echo $d->format('Y-m-d'); 

以下も参照してください。DateTime::createFromFormat() DateTime::format()

于 2012-12-23T16:09:50.180 に答える
2

str_to_dateMySQL関数を使用することもできます

INSERT INTO yourtable (datefield) VALUES (str_to_date('01-02-2007', '%d-%m-%Y'));
于 2012-12-23T16:11:10.157 に答える
1

@Jackが説明したように、それはあなたが選択できる正しい方法の1つであり、

データベースから日付を選択するときに、 DATE_FORMAT(date,format)を使用できます。

于 2012-12-23T16:17:16.357 に答える
0

できません。
その代わりに、カスタム形式をデータベース形式に変換して元に戻す必要があります。

データベースに保存するには、explodePHP関数を使用できます。選択すると、 mysql関数
を使用してmysql日付形式をフォーマットできます。DATE_FORMAT

于 2012-12-23T16:10:04.223 に答える