DATETIME を実際に使用できるものに変換しようとしています。これは日付です:
2013-09-05 11:52:10
私は使用しています:
date("D, d M Y", '2013-09-05 11:52:10');
に変わります:
Thu, 01 Jan 1970
私には意味がありません。
date() に渡す前に、日付をタイムスタンプに変換する必要があります
$time = strtotime('2013-09-05 11:52:10');
echo date("D, d M Y", $time);
これはPHPコードであるはずですか?もしそうなら、正しいのは
date("D, d M Y", strtotime('2013-09-05 11:52:10'));
これが MySql に関係している場合、使用する正しい関数はDATE_FORMAT
(ただし、無効な MySql 構文です)。どうか明らかにしてください。
PHPのdate()
関数は、整数のタイムスタンプ値のみを処理できます。文字列を入力として処理することはできません。
ある文字列の日付形式から別の形式に変換する必要がある場合は、次のDateTime::CreateFromFormat()
方法を使用する必要があります。
$dateObj = DateTime::CreateFromFormat($inputString);
$outputString = $dateObj->Format('D, d M Y');
ただし、MySQLの関数を使用して、PHPの関数が処理できるUNIX_TIMESTAMP()
数値のタイムスタンプとして日付をPHPに取得するクエリを作成することをお勧めします。date()
MySQL:
SELECT UNIX_TIMESTAMP(yourDateField) as yourDateField_timestamp FROM yourTable ...
次に、PHPを思いどおりに作成できます。
PHP:
$dateObj = date('D, d M Y', $row['yourDateField_timestamp']);