私は日付を挿入しようとしています、CURDATE()
をSQL DateTime
フィールドに言うことができます。私はSQLにそれを挿入しようとすると、私はちょうどゼロを取得28/01/2008
私はPHPで日付をSQL形式に変換できますか? (そしてそれを挿入する)
:
私の日付はの形式です。
どうすれば適切に変換できますか?
私は日付を挿入しようとしています、CURDATE()
をSQL DateTime
フィールドに言うことができます。私はSQLにそれを挿入しようとすると、私はちょうどゼロを取得28/01/2008
私はPHPで日付をSQL形式に変換できますか? (そしてそれを挿入する)
:
私の日付はの形式です。
どうすれば適切に変換できますか?
$newdate = date('Y-m-d', strtotime($olddate));
を使用し、私は日付を挿入しようとしている、SQL のDateTimeフィールドに)( CURDATEを言うことができます。
$timestamp = strtotime($old_date);
$mydate = date('Y-m-d H:i:s', $timestamp);
私は日付を挿入しようとしている、SQL DateTimeフィールドにCURDATE()を言うことができます。
なぜMySQL機能を直接使用しないのですか?それはあなたが欲しい)(CURDATEされていない場合は28/01/2008
が、DD/MM/yyyy形式でPHPの変数である:
insert tbl (id, other, datecol)
values(NULL, 'abcdef', CURDATE());
私の日付はの形式であります代わりに、このMySQL man pageのリテラルの書式設定方法を参照してください。安全な形式は、時間なしで
YYYY-MM-DD
とYYYYMMDD
です。$date = '28/01/2008'; $query = "insert tbl (id, other, datecol) values(NULL, 'abcdef', '" . date('Ymd', strtotime($date)) . "');";
注:YYYYMMDDは、SQL Serverの有効なフォーマットです。
あなたはのstrtotime関数は(順番に日付によって1970-01-01に変換されます)0を返します(DD/MM/YYYY)であれば、ヨーロッパの日付表記を使用しているので、あなたドン-またはを使用してください。セパレータとして。あなたがのstrtotimeを使用したい場合は
だから、あなたは少しだけあなたの日付文字列を変更する必要があります...
$olddate = '28/01/2008';
$newdate = strtotime(str_replace('/', '-', $olddate));
の$ NEWDATEは現在、「2008-01-28」を含める必要があり
strtotime()は何も返しません。 –
さて、strtotimeはそのフォーマットでは動作しません... '/'を ' - 'に変更する必要があります –
strtotimeはフランス語の日付フォーマットを理解できません..あなたは私のコードを使用することができます... – MatTheCat