4

yyyy/mm/dd 00:00:00 の形式で MySQL から日付を取得しています。この日付を PHP で dd/MMM/yyyy の形式に変換したいと考えています。

4

5 に答える 5

13

PHP のdatestrtotimeを使用します。

$formatted = date('d/M/Y', strtotime($date_from_mysql));

または、MySQL のビルトインDATE_FORMAT関数を使用します。

SELECT DATE_FORMAT(datetime, '%d/%b/%Y') datetime FROM table

または、両方のフレーバーを少し混ぜることもできます。

SELECT UNIX_TIMESTAMP(datetime) timestamp FROM table;

$formatted = date('d/M/Y', $timestamp);

最後の方法は、同じページに複数の異なる形式を取得する必要がある場合に便利です。たとえば、日付と時刻を別々に出力したい場合、それ以上変換せずに date('d/M/Y', $timestamp) と date('H:i', $timestamp) を使用できます。

于 2009-12-04T12:03:15.193 に答える
5

具体的には PHP ソリューションを求めましたが、MySQL のdate_format()関数にも興味があるかもしれません。

SELECT date_format(dt, '%d/%m/%Y') ...
于 2009-12-04T12:03:26.240 に答える
0

date()PHP の関数 ( docs )を確認する必要があります。

print date('d/M/Y', $row['tstamp']);

これは、日付フィールドがDATETIMEまたはの場合に適用されますTIMESTAMP。フィールドをUNIX_TIMESTAMP()docs)でラップすることを忘れないでSELECT ..., UNIX_TIMESTAMP(dateField) AS tstamp FROM ...ください。

于 2009-12-04T12:04:04.383 に答える
0

実際にmySQLを取得して、日付をUNIXタイムスタンプに変換できます

SELECT UNIX_TIMESTAMP(field) as date_field
FROM table

次に、それをPHPのdate()関数に直接渡して、必要な形式を取得できます

date('d/M/Y', $row['date_field'])
于 2009-12-04T12:11:06.190 に答える
0
$d=date_create('2009-12-04 09:15:00');
echo $d->format('dd/M/yyyy');
于 2009-12-04T12:16:59.110 に答える