PHPでは、次のことができます:
-
strtotime
を使用して、日付をタイムスタンプに変換します - date を使用してフォーマットします
少しこのように、私は言うでしょう:
$timestamp = strtotime($date_from_db);
echo date('d/m/Y', $timestamp);
ただし、タイムスタンプ のように、これは1970年から2038年までの日付でのみ機能します。 1970-01-01から数えて32ビット整数として格納されます。
MySQLでは、 date_format
関数がそのトリックを実行します。
例:
mysql> select date_format(curdate(), '%d/%m/%Y');
+------------------------------------+
| date_format(curdate(), '%d/%m/%Y') |
+------------------------------------+
| 19/03/2010 |
+------------------------------------+
1 row in set (0.03 sec)
そして、完全を期すために、1970-2038の制限に悩まされないPHPの別の解決策は、DateTime
を使用することです。 クラス、そして特に:
-
DateTime::__construct
DBから返された日付を解析する -
DateTime::format
日付を任意の形式にフォーマットします。
たとえば、コードのこの部分:
$date = new DateTime('2010-03-19');
echo $date->format('d/m/Y');
この出力が得られます:
19/03/2010