PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのdate_format()関数の使い方を徹底解説!日付フォーマットの基本と書式指定子一覧

PHPのdate_format()関数は、DateTimeオブジェクトを指定した書式に従って整形し、文字列として返す関数です。日付や時刻を自由な形式で表示したい場合に非常に便利な、日付処理の基本となる関数の一つです。

構文

date_format(obj, format)

パラメータ(引数)

  • obj − フォーマット対象となる DateTime オブジェクトを指定します。

  • format − 出力結果の書式を指定します。主な書式指定子は以下のとおりです。

    日に関する指定子

    • d − 日(01〜31)。先頭にゼロが付きます。

    • D − 曜日の省略形(3文字。例:Mon、Tue)。

    • j − 日(1〜31)。先頭にゼロが付きません。

    • l(小文字のL)− 曜日の完全な表記(例:Monday、Sunday)。

    • N − ISO-8601形式の曜日番号(月曜が1、日曜が7)。

    • S − 英語の序数接尾辞(st、nd、rd、th の2文字)。j と組み合わせて使うと効果的です。

    • w − 曜日の数値表現(日曜が0、土曜が6)。

    • z − 年間の通算日(0〜365)。

    週・月・年に関する指定子

    • W − ISO-8601形式の週番号(週は月曜から開始)。

    • F − 月の完全な英語表記(January〜December)。

    • m − 月の数値表現(01〜12)。先頭にゼロが付きます。

    • M − 月の省略形(3文字。例:Jan、Dec)。

    • n − 月の数値表現(1〜12)。先頭にゼロが付きません。

    • t − 指定した月の日数(28〜31)。

    • L − うるう年かどうか(うるう年なら1、それ以外は0)。

    • o − ISO-8601形式の年番号。

    • Y − 4桁の年(例:2018)。

    • y − 2桁の年(例:18)。

    時刻に関する指定子

    • a − 小文字の am または pm。

    • A − 大文字の AM または PM。

    • B − Swatchインターネット時間(000〜999)。

    • g − 12時間制の時(1〜12)。先頭にゼロが付きません。

    • G − 24時間制の時(0〜23)。先頭にゼロが付きません。

    • h − 12時間制の時(01〜12)。先頭にゼロが付きます。

    • H − 24時間制の時(00〜23)。先頭にゼロが付きます。

    • i − 分(00〜59)。先頭にゼロが付きます。

    • s − 秒(00〜59)。先頭にゼロが付きます。

    タイムゾーン・その他の指定子

    • e − タイムゾーン識別子(例:UTC、Asia/Tokyo)。

    • I(大文字のi)− サマータイムかどうか(サマータイム中なら1、それ以外は0)。

    • O − グリニッジ標準時(GMT)との差(時間単位。例:+0100)。

    • T − PHPマシンのタイムゾーン設定(例:EST、MDT)。

    • Z − タイムゾーンオフセット(秒単位)。UTCより西は負、東は正(-43200〜43200)。

    • c − ISO-8601形式の日付(例:2004-02-12T15:19:21+00:00)。

    • r − RFC 2822形式の日付(例:Thu, 21 Dec 2000 16:01:07 +0200)。

    • U − Unixエポック(1970年1月1日 00:00:00 GMT)からの経過秒数。

戻り値

date_format()関数は、成功した場合は整形された日付文字列を返し、失敗した場合は FALSE を返します。

使用例

以下は、date_format()関数を使って日付を「Y/m/d H:i:s」形式で表示するサンプルコードです。

<?php
   $dt = date_create("2018-09-30");
   echo date_format($dt,"Y/m/d H:i:s");
?>

実行結果

2018/09/30 00:00:00

このように、date_create()で作成したDateTimeオブジェクトに対してdate_format()を使うことで、任意の形式で日付を出力できます。日本語サイトでよく使われる「2024年5月1日」のような形式にしたい場合は、「Y年n月j日」のように指定することも可能です。

  1. 【PHP入門】date()関数の使い方を徹底解説!日付・時刻の書式指定子一覧と実行例

    PHPの date() 関数は、ローカルの日付や時刻を任意の形式に整形(フォーマット)するための関数です。整数型のUnixタイムスタンプを引数として渡すと、その時刻をもとに整形された文字列が返されます。タイムスタンプを省略した場合は、現在の時刻が自動的に使用されます。 基本構文 date(format, timestamp) パラメータ timestamp − 整数型のUnixタイムスタンプ。省略した場合は、現在のローカル時刻がデフォルトで使用されます。 format − 結果の出力形式を指定する書式文字列。主な指定文字は以下のとおりです。 日に関する書式指定子 d − 日(01〜31)。

  2. PHPのgmdate()関数とは?GMT/UTC基準で日時をフォーマットする方法を解説

    PHPのgmdate()関数とはgmdate()関数は、GMT/UTC(グリニッジ標準時)に基づいた日付・時刻を整形し、文字列として返すPHPの組み込み関数です。date()関数とよく似ていますが、date()がサーバーのローカルタイムゾーンを使用するのに対し、gmdate()は常にGMT/UTCを基準として処理する点が大きな違いです。国際的なサービスやログの記録など、タイムゾーンに依存しない統一された日時表示が必要な場面で活躍します。構文gmdate(format, timestamp)パラメータformat:出力する日付文字列の形式を指定します。使用可能な書式指定文字は以下の通りです。日に