MySQL に挿入するための PHP の日付形式
MySQL は、リレーショナルデータを格納することを目的とした RDBMS データベースです。さまざまなデータ型をサポートしており、日付
もその 1つです。MySQL は特定の日付形式のみをサポートしているため、DB に日付を挿入する前に日付を形式化する必要があります。そうしないと、DB はエラーをスローします。
この記事では、MySQLDB に挿入する前に PHP で日付をフォーマットする方法を紹介します。
MySQL は 5つの日付形式をサポートしています。
DATE
:YYYY-MM-DD
1000-01-01
から9999-12-31
の範囲の時間のない日付のみを保存します。たとえば、2021-10-28
。DATETIME
:YYYY-MM-DD HH:MI:SS
。日付と時刻を1000-01-01 00:00
から9999-12-31 23:59:59
の範囲で保存します。例:2021-10-28 10:30:24
。TIMESTAMP
:YYYY-MM-DD HH:MI:SS
。日付と時刻を1970-01-01 00:00:01
から2038-01-09 03:14:17
の範囲で保存します。例:2021-10-28 10:30:24
。TIME
:HH:MI:SS
。日付のない時刻を-838:59:59
から838:59:59
の範囲で保存します。例:10:30:24
。YEAR
:YYYY
またはYY
。2 桁の場合は70(1970)-69(2069)
、4 桁の場合は1901-2155 | 0000
の範囲で、4 桁または 2 桁の年号を格納します。例えば、2021
。
解決策を学ぶ前に、date()
の概念を理解しましょう。
PHP の date()
これは、フォーマットされた日付文字列を返す組み込みの PHP 関数です。
date()
の構文
date($format, $timestamp);
パラメーター
$format
:これは出力日付文字列フォーマットを指定する必須パラメータです。オプションのいくつかは次のとおりです。
d
- 01 から 31 の範囲の月の日m
- 01 から 12 の範囲の月の数値表現Y
- 年の 4 桁の表現y
- 年の 2 桁の表現H
- 00 から 23 の範囲の 1 時間の 2 桁の表現i
- 00 から 59 の範囲の分の 2 桁の表現s
- 00 から 59 の範囲の秒の 2 桁の表現
$timestamp
:Unix タイムスタンプを整数形式で指定するオプションのパラメータです。指定しない場合、デフォルト値が現在の現地時間として使用されます。
コード例:
<?php
$formated_DATETIME = date('Y-m-d H:i:s');
echo $formated_DATETIME. "<br>";
// 2021-10-27 14:02:16
$formated_DATE = date('Y-m-d');
echo $formated_DATE. "<br>";
// 2021-10-27
$formated_TIME = date('H:i:s');
echo $formated_TIME. "<br>";
//14:03:57
$formated_YEAR = date('Y');
echo $formated_YEAR. "<br>";
// 2021
?>
出力:
2021-10-27 14:02:16
2021-10-27
14:03:57
2021
PHP の date_format()
これは、DateTime
オブジェクトを入力として受け取り、フォーマットされた日付文字列を返す組み込みの PHP 関数です。
date_format()
の構文
date_format($dateObject, $format);
パラメーター
$dateObject
:DateTime
オブジェクトを指定する必須パラメーターです。
$format
:これは出力日付文字列フォーマットを指定する必須パラメータです。オプションのいくつかは次のとおりです。
d
- 01 から 31 の範囲の月の日m
- 01 から 12 の範囲の月の数値表現Y
- 年の 4 桁の表現y
- 年の 2 桁の表現H
- 00 から 23 の範囲の 1 時間の 2 桁の表現i
- 00 から 59 の範囲の 1 分の 2 桁の表現s
- 00 から 59 の範囲の秒の 2 桁の表現
コード例:
<?php
$date = date_create("2021/10/27");
$formated_DATETIME = date_format($date, 'Y-m-d H:i:s');
echo $formated_DATETIME. "<br>";
$formated_DATE = date_format($date, 'Y-m-d');
echo $formated_DATE. "<br>";
$formated_TIME = date_format($date, 'H:i:s');
echo $formated_TIME. "<br>";
$formated_YEAR = date_format($date, 'Y');
echo $formated_YEAR. "<br>";
?>
出力:
2021-10-27 00:00:00
2021-10-27
00:00:00
2021
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn