4

DATETIME を実際に使用できるものに変換しようとしています。これは日付です:

2013-09-05 11:52:10

私は使用しています:

date("D, d M Y", '2013-09-05 11:52:10');

に変わります:

Thu, 01 Jan 1970

私には意味がありません。

4

3 に答える 3

7

date() に渡す前に、日付をタイムスタンプに変換する必要があります

$time = strtotime('2013-09-05 11:52:10');
echo date("D, d M Y", $time);
于 2012-09-05T17:15:57.943 に答える
4

これはPHPコードであるはずですか?もしそうなら、正しいのは

date("D, d M Y", strtotime('2013-09-05 11:52:10'));

これが MySql に関係している場合、使用する正しい関数はDATE_FORMAT(ただし、無効な MySql 構文です)。どうか明らかにしてください。

于 2012-09-05T17:14:27.600 に答える
2

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']);
于 2012-09-05T17:20:13.067 に答える