2011-01-25 8 views

答えて

20
$newdate = date('Y-m-d', strtotime($olddate)); 
+0

strtotime()は何も返しません。 –

+0

さて、strtotimeはそのフォーマットでは動作しません... '/'を ' - 'に変更する必要があります –

+0

strtotimeはフランス語の日付フォーマットを理解できません..あなたは私のコードを使用することができます... – MatTheCat

2
join('-',array_reverse(explode('/',$date))) 

標準YYYY-MM-DD Mysqlの日付形式を取得する。

または単にMySQLの」DATE_FORMAT

5

を使用し、私は日付を挿入しようとしている、SQL のDateTimeフィールドに)( CURDATEを言うことができます。

$timestamp = strtotime($old_date); 
$mydate = date('Y-m-d H:i:s', $timestamp); 
1

私は日付を挿入しようとしている、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-DDYYYYMMDDです。

$date = '28/01/2008'; 
$query = "insert tbl (id, other, datecol) 
      values(NULL, 'abcdef', '" . date('Ymd', strtotime($date)) . "');"; 

注:YYYYMMDDは、SQL Serverの有効なフォーマットです。

3

あなたはのstrtotime関数は(順番に日付によって1970-01-01に変換されます)0を返します(DD/MM/YYYY)であれば、ヨーロッパの日付表記を使用しているので、あなたドン-またはを使用してください。セパレータとして。あなたがのstrtotimeを使用したい場合は

だから、あなたは少しだけあなたの日付文字列を変更する必要があります...

$olddate = '28/01/2008'; 
$newdate = strtotime(str_replace('/', '-', $olddate)); 

の$ NEWDATEは現在、「2008-01-28」を含める必要があり

関連する問題