ホームページ  >  記事  >  バックエンド開発  >  PHPで年、月、日を別の日付形式に変換する方法

PHPで年、月、日を別の日付形式に変換する方法

PHPz
PHPzオリジナル
2023-04-04 13:58:44942ブラウズ

PHP は、年、月、日など、さまざまな種類の日付と時刻を簡単に処理できる、広く使用されているサーバー側プログラミング言語です。 Web 開発では、多くのアプリケーションがさまざまな時間条件に基づいて特定の操作を実行する必要があるため、PHP の日付と時刻を処理する機能は非常に重要です。そこでこの記事では、PHPを使って年、月、日を別の日付形式に変換する方法を説明します。

日付と時刻の概念

PHP を使用して日付と時刻を処理する方法を紹介する前に、まず日付と時刻の概念を理解する必要があります。コンピュータ システムでは、日付と時刻は通常、数値で表されます。通常、年は 2019 などの 4 桁の数字で表され、月は通常 1 ~ 12 の数字で表されます (3 月は 3 など)。日は通常、1 ~ 31 の数字で表されます。 5番目を5として。時間は通常、時、分、秒で表されます。たとえば、12:30:35 は 12:30:35 と表されます。

PHP では、日付と時刻は通常 Unix タイムスタンプの形式で表現されます。 Unix タイムスタンプは、1970 年 1 月 1 日 00:00:00 GMT からの秒数です。したがって、Unix タイムスタンプ 0 は 1970 年 1 月 1 日 00:00:00 を表し、Unix タイムスタンプ 1546322400 は 2019 年 1 月 1 日 00:00:00 を表します。

年、月、日を Unix タイムスタンプに変換する

PHP では、strtotime() 関数を使用して文字列の日付と時刻を Unix タイムスタンプに変換できます。 strtotime() 関数の構文は次のとおりです。

strtotime(string $time [, int $now = time() ])

$time パラメータは、日付と日付を含む文字列です。 time, $ now パラメータはオプションであり、現在の時刻の Unix タイムスタンプを表します。 $now パラメータが指定されていない場合、デフォルトで現在の時刻の Unix タイムスタンプが使用されます。例:

$date = "2019-01-01";
$timestamp = strtotime($date);
echo $timestamp; // 输出1546300800

上記のコードでは、$date 変数には日付文字列「2019-01-01」が含まれており、これはパラメータとして strtotime() 関数に渡され、Unix タイムスタンプに変換されます。そして最後に出力します。結果は 1546300800 で、これは 2019 年 1 月 1 日 00:00:00 の Unix タイムスタンプを表します。

Unix タイムスタンプを日付文字列に変換する

PHP では、date() 関数を使用して Unix タイムスタンプを日付文字列に変換できます。 date() 関数の構文は次のとおりです。

date(string $format [, int $timestamp = time() ])

$format パラメータは、次の内容を指定する形式文字列です。 Unix の変換方法 タイムスタンプを日付文字列に変換します。 $timestamp パラメータはオプションで、フォーマットされる Unix タイムスタンプを表します。 $timestamp パラメータが指定されていない場合、デフォルトで現在の時刻の Unix タイムスタンプが使用されます。例:

$timestamp = 1546300800;
$date = date("Y年m月d日", $timestamp);
echo $date; // 输出2019年01月01日

上記のコードでは、$timestamp 変数に Unix タイムスタンプ 1546300800 が含まれており、それをパラメータとして date() 関数に渡し、書式文字列「Y year m month d day」を使用します。 to 日付文字列 $datetime に変換すると、最終出力結果は 2019 年 1 月 1 日になります。

日付文字列を日付オブジェクトに変換する

PHP 5.2.0 以降では、date_create() 関数を使用して文字列日付を日付オブジェクトに変換できます。 date_create() 関数の構文は次のとおりです。

date_create(string $time, DateTimeZone $timezone = null)

$time パラメーターは、日付と時刻を含む文字列です。 $timezone パラメーターはオプションです。選択した場合、日付と時刻を表すタイム ゾーン。 $timezone パラメーターが指定されていない場合、デフォルトでサーバーのタイムゾーンが使用されます。例:

$datestr = "2019-01-01 12:30:00";
$datetime = date_create($datestr);
print_r($datetime); // 输出:DateTime Object ( [date] => 2019-01-01 12:30:00.000000 [timezone_type] => 3 [timezone] => Asia/Shanghai )

上記のコードでは、$datestr 変数には日付と時刻の文字列「2019-01-01 12:30:00」が含まれており、これはパラメーターとして date_create() 関数に渡されます。日付オブジェクトが $datetime 変数に保存されます。 $datetime 変数の最終出力内容は次のとおりです。

DateTime Object ( [date] => 2019-01-01 12:30:00.000000 [timezone_type] => 3 [timezone] => Asia/Shanghai )

出力から、$datetime には日付、時刻、タイム ゾーン、その他の情報が含まれていることがわかります。

日付オブジェクトを日付文字列に変換する

PHP では、DateTime クラスが提供する DateTime::format() メソッドを使用して、日付オブジェクトを日付文字列に変換できます。 DateTime::format() メソッドの構文は次のとおりです。

public string DateTime::format(string $format)

$format パラメータは、フォーマット文字列で、フォーマット文字列です。日付オブジェクトを日付文字列に変換します。例:

$datestr = "2019-01-01 12:30:00";
$datetime = date_create($datestr);
echo $datetime->format("Y-m-d H:i:s"); // 输出:2019-01-01 12:30:00

上記のコードでは、$datestr 変数には日付と時刻の文字列「2019-01-01 12:30:00」が含まれており、これはパラメーターとして date_create() 関数に渡されます。日付オブジェクトが $datetime 変数に保存されます。最後に、$datetime->format() メソッドを使用して、日付オブジェクトを書式設定された文字列「Y-m-d H:i:s」に変換し、出力結果は 2019-01-01 12:30:00 になります。

結論

以上、PHPの年月日変換処理の紹介でした。実際のアプリケーションでは、さまざまなニーズに応じて日付と時刻を処理するさまざまな方法を選択できます。 PHP の日付と時刻の処理方法に習熟すると、開発効率とコードの品質が大幅に向上します。

以上がPHPで年、月、日を別の日付形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。