ホームページ > データベース > mysql チュートリアル > PHP の日付を MySQL の DATE および DATETIME 形式に変換するにはどうすればよいですか?

PHP の日付を MySQL の DATE および DATETIME 形式に変換するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-29 13:14:10
オリジナル
811 人が閲覧しました

How to Convert PHP Dates to MySQL DATE and DATETIME Formats?

PHP の日付を MySQL 形式に変換する

PHP では、コードで使用される形式の日付フィールドがよく見られます。

$date = mysql_real_escape_string($_POST['intake_date']);
ログイン後にコピー

ただし、MySQL を使用する場合、多くの場合、この日付を MySQL 形式に変換する必要があります。データベースに含める場合は「0000-00-00」。 date('Y-m-d' strtotime($date);) のいくつかのバリエーションが思い浮かぶかもしれませんが、この変換に含まれる特定の複雑な問題に対処することが重要です。

1. MySQL 列型の処理

MySQL 列が DATE 型で、時刻のない日付のみを示す場合、推奨される変換方法は次のとおりです。

$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));
ログイン後にコピー

これはダッシュ " を置き換えます。 strtotime() 関数を適用する前に、日付文字列にスラッシュ「/」を付けて -" を追加します。それ以外の場合、strtotime() はダッシュで区切られた数値を減算しようとするため、不正確な結果が生じます。

2. DATETIME 型の変換

MySQL 列が日付コンポーネントと時刻コンポーネントの両方を含む DATETIME 型である場合は、代わりに次の変換を使用します。

$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));
ログイン後にコピー

ここでは、次の変換を使用します。 「-」を「/」に置き換えるという同じ原則に基づいて、時間の追加の書式設定も含めます。コンポーネント。

3.複雑な形式に対する代替アプローチ

日付が strtotime() 関数と date() 関数の両方と互換性のない形式である場合 (「02/07/2009 00:07:00」など) 、正規表現ベースの変換を選択できます:

$date = '02/07/2009 00:07:00';
$date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '-- ', $date);
ログイン後にコピー

この正規表現は日付コンポーネントを並べ替えます。必要な MySQL 形式に変換し、PHP の日付フィールドがデータベースに含められるように適切に変換されるようにします。

以上がPHP の日付を MySQL の DATE および DATETIME 形式に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート