ホームページ  >  記事  >  バックエンド開発  >  PHPで数値を日付に変換する

PHPで数値を日付に変換する

王林
王林オリジナル
2023-05-07 11:40:18818ブラウズ

PHP コードを作成する過程で、数値を日付に変換する必要がある場合があります。たとえば、データベースに保存されているのは日付フィールドの数値表現であり、それを人間が判読できる日付形式で Web ページに表示する必要があります。以下は、PHP で数値を日付に変換する方法の紹介です。

通常、数値で表される日付形式は Unix タイムスタンプであり、1970 年 1 月 1 日からの秒数を表します。たとえば、数値 1468531200 は、GMT タイム ゾーンの 2016 年 7 月 15 日の午前 0 時を表します。 PHP で Unix タイムスタンプを日付形式に変換する方法は複数あり、そのうちの 2 つを以下に説明します。

方法 1: date() 関数を使用する

date() 関数は、ローカルの日付/時刻をフォーマットするために使用される PHP の組み込み関数です。パラメータは 2 つあり、最初のパラメータは取得する日付/時刻の形式を指定する形式文字列です。 2 番目のパラメータは、フォーマットする日付/時刻を指定するオプションのタイムスタンプです。 2 番目の引数が指定されていない場合は、現在の現地時間がデフォルトで使用されます。以下に例を示します。

$num = 1468531200;
$format = "Y-m-d H:i:s";
$date = date($format, $num);
echo $date;

説明:

  • $num: 変換する数値、つまり Unix タイムスタンプを示します。
  • $format: 取得する最終的な日付形式を示します。上記の例では、$format は「Y-m-d H:i:s」で、年-月-日 時:分:秒の形式です。
  • $date: 変換された日付値を保存するために使用されます。
  • echo $date: 変換された日付値をページに出力します。

この例では、出力結果は「2016-07-15 00:00:00」、つまり数値 1468531200 が日付形式に変換されます。

方法 2: DateTime クラスを使用する

DateTime は、日付/時刻操作を簡単に実行できる PHP によって提供されるコア クラスです。 Unix タイムスタンプを日付形式に変換するには、DateTime クラスをインスタンス化することで実行できます。以下に例を示します。

$num = 1468531200;
$datetime = new DateTime("@$num");
$format = "Y-m-d H:i:s";
$date = $datetime->format($format);
echo $date;

説明:

  • $num: 変換する数値、つまり Unix タイムスタンプを示します。
  • new DateTime("@$num"): DateTime クラスのコンストラクターを使用してインスタンスを作成し、Unix タイムスタンプを渡します。ここで「@」記号を使用すると、Unix タイムスタンプを標準化された日付形式に簡単に変換できます。それ以外の場合は、手動で形式を変換する必要があります。
  • $format: 取得する最終的な日付形式を示します。上記の例では、$format は「Y-m-d H:i:s」で、年-月-日 時:分:秒の形式です。
  • $date: 変換された日付値を保存するために使用されます。
  • echo $date: 変換された日付値をページに出力します。

この例でも、出力結果は「2016-07-15 00:00:00」、つまり数値 1468531200 が日付形式に変換されます。

要約すると、上記の 2 つのメソッドは数値を日付に変換できます。同時に、日付/時刻操作を実行するときは、タイムゾーンやその他の非標準形式によって引き起こされる不要な問題を避けるために、標準時刻形式を使用するようにしてください。

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

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