現在の位置: ホーム> 最新記事一覧> GMDATE日付をフォーマットするときにゼロコンクリメーションを使用する方法

GMDATE日付をフォーマットするときにゼロコンクリメーションを使用する方法

gitbox 2025-05-29

PHPでは、 GMDATE()関数を使用して、グリニッジ標準時間(GMT)に基づいて日付と時刻の文字列をフォーマットします。日付()関数とは異なり、 gmdate()はサーバーの現地時間ではなくGMT時間を返します。タイムゾーンで日付の要件を処理するのに最適です。

GMDate()で日付をフォーマットする場合、時間、数分、数ヶ月、日付、日付などの「ゼロ補償」の問題に遭遇することがよくあります。数値が10未満の場合、ゼロを埋める必要がありますか?実際、 GMDATE()は、これを自動的に処理するためのフォーマット文字を提供します。

1.一般的な形式文字とゼロ修飾の状況

  • d - 補償がゼロの月の日は01から31の範囲

  • j - 補償がゼロのない日付、範囲1〜31です

  • m - 補償がゼロで月を表し、 01から12の範囲

  • n - ゼロ補償なしの月、 1〜12範囲

  • H - 補償がゼロの24時間システム、範囲は00〜23です

  • G - 24時間のシステム、補償がゼロなしで、範囲0〜23です

  • I - 補償がゼロで、範囲は00〜59です

  • s -秒、補償がゼロで、範囲は00〜59です

したがって、ゼロを自動的に埋める限り、 dmhisなどのゼロを塗りつぶしてフォーマット文字を使用します。ゼロを構成したくない場合は、ゼロ補数なしで対応する文字を使用します。

2。サンプルコード

<?php
// 現在のタイムスタンプ
$timestamp = time();

// ゼロ修飾形式の日付と時刻
echo gmdate('Y-m-d H:i:s', $timestamp);
// 出力の例: 2025-05-24 14:05:09

// 補充がゼロのない日時
echo gmdate('Y-n-j G:i:s', $timestamp);
// 出力の例: 2025-5-24 14:5:9
?>

上記のコードは、 gmdate()がフォーマット文字自体に基づいてゼロを埋めるかどうかを自動的に決定し、追加の処理は必要ないことを示しています。

3.手動のゼロ補償はお勧めしません

一部の初心者は、条件付きステートメントを使用して数字のサイズを決定し、次のようなゼロを補おうとする場合があります。

 <?php
$hour = gmdate('G');
if ($hour < 10) {
    $hour = '0' . $hour;
}
echo $hour;
?>

このタイプの文章は面倒でエラーが発生しやすいです。フォーマット文字hを使用するとゼロを自動的に補うことができるため、それは完全に不要です。

4。結論

  • GMDATE()を使用して日付をフォーマットする場合、手動操作なしでゼロをフォーマット文字で自動的に入力できます。

  • たとえば、 dmhisは自動的にゼロを構成します。

  • ゼロ修飾なしのJNG、およびその他のフォーマット文字を使用します。

5。リファレンスリンク

よりフォーマットされた文字とgmdate()の使用については、公式ドキュメントを参照できます。

https://gitbox.net/manual/en/function.gmdate.php