Movatterモバイル変換


[0]ホーム

URL:


    date_add »
    « checkdate

    date

    (PHP 4, PHP 5, PHP 7, PHP 8)

    dateUnixタイムスタンプを書式化する

    説明

    date(string$format,?int$timestamp =null):string

    指定された引数timestamp (Unixタイムスタンプ) を、与えられた フォーマット文字列によりフォーマットし、日付文字列を返します。 タイムスタンプが与えられない場合は、現在の時刻が使われます。 つまりtimestamp はオプションであり そのデフォルト値はtime() の値です。

    警告

    Unixタイムスタンプはタイムゾーンを処理しません。 タイムゾーン情報が付加された日付/時刻の情報を書式化するには、DateTimeImmutable クラスや、DateTimeInterface::format() を使って下さい。

    パラメータ

    format

    DateTimeInterface::format() が受け入れるフォーマット。

    注意:date() 関数は、マイクロ秒については常に000000 を生成します。 というのも、この関数が受け取るパラメータは int 型だからです。 一方DateTimeInterface 型のオブジェクトをマイクロ秒つきで作成した場合は、DateTimeInterface::format() はマイクロ秒にも対応しています。

    timestamp

    オプションのパラメータtimestamp は、int 型の Unix タイムスタンプです。timestamp が指定されなかったり、null だった場合のデフォルト値は、現在の時刻です。言い換えると、デフォルトはtime() の返り値となります。

    戻り値

    フォーマットされた日付を表す文字列を返します。

    エラー / 例外

    すべての日付/時刻関数は、有効なタイムゾーンが設定されていない場合にE_WARNINGを発生させます。date_default_timezone_set() も参照ください。

    変更履歴

    バージョン説明
    8.0.0timestamp は、nullable になりました。

    例1date() の例

    <?php
    // set the default timezone to use.
    date_default_timezone_set('UTC');


    // Prints something like: Monday
    echodate("l") ."\n";

    // Prints something like: Monday 8th of August 2005 03:12:46 PM
    echodate('l jS \of F Y h:i:s A') ."\n";

    // Prints: July 1, 2000 is on a Saturday
    echo"July 1, 2000 is on a ".date("l",mktime(0,0,0,7,1,2000)) ."\n";

    /* use the constants in the format parameter */
    // prints something like: Wed, 25 Sep 2013 15:28:57 -0700
    echodate(DATE_RFC2822) ."\n";

    // prints something like: 2000-07-01T00:00:00+00:00
    echodate(DATE_ATOM,mktime(0,0,0,7,1,2000));

    前にバックスラッシュを付けてエスケープすることにより、 フォーマット文字列として認識される文字が展開されることを防止することができます。 バックスラッシュ付きの文字は既に特別なシーケンスであり、 バックスラッシュもエスケープすることが必要となる可能性があります。

    例2date() の文字をエスケープする

    <?php
    // Wednesday the 15th のように出力
    echodate('l \t\h\e jS');

    date() フォーマットのいくつかの例を示します。 現在の実装で特別な意味がある文字や今後の PHP のバージョンで意味が 割り付けられるであろう文字については、望ましくない結果を避けるために エスケープする必要があることに注意してください。エスケープを する際には、改行文字 \n のような文字を回避するために シングルクォートを使用してください。

    例3date() のフォーマット指定

    <?php
    // Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
    // Mountain Standard Time (MST) Time Zone
    date_default_timezone_set("America/Phoenix");

    echo
    date("F j, Y, g:i a") ."\n";// March 10, 2001, 5:16 pm
    echodate("m.d.y") ."\n";// 03.10.01
    echodate("j, n, Y") ."\n";// 10, 3, 2001
    echodate("Ymd") ."\n";// 20010310
    echodate('h-i-s, j-m-y, it is w Day') ."\n";// 05-16-18, 10-03-01, 1631 1618 6 Satpm01
    echodate('\i\t \i\s \t\h\e jS \d\a\y.') ."\n";// it is the 10th day.
    echodate("D M j G:i:s T Y") ."\n";// Sat Mar 10 17:16:18 MST 2001
    echodate('H:m:s \m \i\s\ \m\o\n\t\h') ."\n";// 17:03:18 m is month
    echodate("H:i:s") ."\n";// 17:16:18
    echodate("Y-m-d H:i:s") ."\n";// 2001-03-10 17:16:18 (the MySQL DATETIME format)

    他の言語で日付をフォーマットする用途には、date() のかわりにIntlDateFormatter::format() が使えます。

    注意

    注意:

    日付の文字列表現からタイムスタンプを生成するには、strtotime() が使用できるでしょう。 さらに、いくつかのデータベースは(MySQL の» UNIX_TIMESTAMP 関数の ような)日付フォーマットからタイムスタンプへの変換関数を有しています。

    ヒント

    $_SERVER['REQUEST_TIME'] によって、リクエスト開始時のタイムスタンプが取得できます。

    参考

    Found A Problem?

    Learn How To Improve This PageSubmit a Pull RequestReport a Bug
    add a note

    User Contributed Notes

    There are no user contributed notes for this page.
    To Top
    and to navigate •Enter to select •Esc to close •/ to open
    PressEnter without selection to search using Google

    [8]ページ先頭

    ©2009-2025 Movatter.jp