ホームページ > バックエンド開発 > PHPの問題 > PHPの日付データ型変換

PHPの日付データ型変換

王林
リリース: 2023-05-07 11:11:11
オリジナル
966 人が閲覧しました

Web アプリケーションの開発では、日付データ型の変換が頻繁に発生します。 PHP には、日付の書式設定、比較、計算、その他の操作を簡単に実行できる豊富な日付と時刻の関数が用意されています。この記事では、PHPの日付データ型とその変換方法を紹介します。

PHP の日付データ型

PHP では、日付は文字列または整数で表現できます。一般的に使用される日付形式は次のとおりです:

    #Y-m-d H:i:s: 年-月-日 時: 分: 秒 (例: 2022-01-01 00:00:00
  • ##) # Y/m/d H:i:s: 年/月/日 時: 分: 秒 (例: 2022/01/01 00:00:00
  • Y 年 m 月 d 日 H 時間 i分 s 秒: 年、月、日、時、分、秒 (例: 2022 年 1 月 1 日 00:00:00)
  • Unix タイムスタンプ: 1970 年 1 月 1 日からの経過秒数 (例: 1640995200
  • 文字列を日付型に変換する

PHP 組み込み関数 strtotime() を使用して、日付と時刻を表す文字列を Unix タイムスタンプに変換できます。この関数は、日付と時刻を表す文字列をパラメータとして受け取り、その日付に対応する Unix タイムスタンプを返します。

$time_str = '2022-01-01';
$time_stamp = strtotime($time_str);
echo $time_stamp; // 输出:1640995200
ログイン後にコピー

上記のコードは、日付文字列「2022-01-01」を Unix タイムスタンプに変換し、出力します。

: strtotime() 関数を使用して日付文字列をタイムスタンプに変換する場合、日付形式は「Month Day Year」または「Day Month Year」の英語の日付形式である必要があります。 」または「Y-m-d」の日付形式。 Unix タイムスタンプから日付形式への変換

Unix タイムスタンプは、PHP 組み込み関数 date() を使用して、指定された日付形式にフォーマットできます。この関数は 2 つのパラメータを受け入れます。最初のパラメータは日付形式を表す文字列で、2 番目のパラメータは Unix タイムスタンプです。

$time_stamp = 1640995200;
$date_str = date('Y-m-d H:i:s', $time_stamp);
echo $date_str; // 输出:2022-01-01 00:00:00
ログイン後にコピー

上記のコードは、Unix タイムスタンプ 1640995200 を「Y-m-d H:i:s」形式の日付文字列にフォーマットし、その文字列を出力します。

文字列の直接比較

PHP では、文字列比較演算子 (>、<、==、!= など) を直接使用して、日付文字列のサイズを比較できます。日付文字列を Unix タイムスタンプに変換する場合は、数値比較演算子 (>、<、=、!= など) を使用して直接比較することもできます。

$date_str1 = '2022-01-01';
$date_str2 = '2022-01-02';
if ($date_str1 < $date_str2) {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前';
} else {
    echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后';
}
ログイン後にコピー

上記のコードは、2 つの日付文字列のサイズを比較し、最終的な比較結果を出力します。

日付からタイムスタンプへの変換

PHP 組み込み関数 mktime() を使用して、日付を Unix タイムスタンプに変換できます。この関数は、時、分、秒、月、日、年などの複数のパラメータを受け入れます。引数が指定されていない場合、関数は現在の時刻の Unix タイムスタンプを返します。

$year = 2022;
$month = 1;
$day = 1;
$hour = 0;
$minute = 0;
$second = 0;
$time_stamp = mktime($hour, $minute, $second, $month, $day, $year);
echo $time_stamp; // 输出:1640995200
ログイン後にコピー

上記のコードは、日付「2022-01-01」を Unix タイムスタンプに変換し、出力します。

タイムスタンプを date に変換する

上で紹介した date() 関数と同様に、PHP の組み込み関数 strftime() も Unix タイムスタンプを指定された日付形式にフォーマットできます。この関数は 2 つのパラメータを受け入れます。最初のパラメータは日付形式を表す文字列 (%Y、%m、%d、%H、%M、%S などの書式設定文字をサポート)、2 番目のパラメータは次のとおりです。 Unix のタイムスタンプ。

$time_stamp = 1640995200;
$date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp);
echo $date_str; // 输出:2022年01月01日 00时00分00秒
ログイン後にコピー

上記のコードは、Unix タイムスタンプ 1640995200 を指定された日付形式にフォーマットし、フォーマットされた文字列を出力します。

結論

PHP では、開発者は組み込み関数 strtotime()、date()、mktime()、strftime() およびその他の関数を使用して、日付型に関係する変換操作を簡単に実行できます。 . 動作します。実際の開発では、ニーズに応じて適切な機能を選択し、柔軟に利用する必要があります。

以上がPHPの日付データ型変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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