builtin function

ビルトイン関数 - 詳細

Category: builtin_function

my_date()

★日付取得

関数

string my_date (  string $sFormat='Y/m/d H:i:s', string $sTimestamp=null )
★日付取得
パラメータ

第1引数: string $sFormat='Y/m/d H:i:s'
第2引数: string $sTimestamp=null
戻り値

string
説明

date()はよく使う事が多いが、サーバを変更した時などに時刻がJP用に設定されていない場合など問題となりえる。
あとgetdate()は"01"表示のような%02形式の表示に対応してない。1になる。

提供する機能としては、
・GMタイムスタンプを利用して日本時間を算出する。つまりdate.timezoneがAsia/Tokyoでなくても日本時間を算出する。date.timezoneは5.1.0以降はPHP_INI_ALL。それ以前は変更不可なのでこういう関数が生まれた。
・formatに日本語の"曜日"を指定できる。
・sTimestampが未指定、又はnull、又は""(空文字)の場合はデフォルトで当日のタイムスタンプとする。元々のdate()は第2引数が未指定の場合のみ当日のタイムスタンプが入る。

前提条件)
$sTimestampの値は必ず"正しく利用できるタイムスタンプ値"であること。
内部的にエラーが起こる値は受け渡されないものとする。つまりその可能性のあるものはこの関数利用以前に予めチェックを行う必要がある。

第一引数で指定できるフォーマットは通常のdate()と同じである。
http://php.net/manual/ja/function.date.php
+--------------------------------------------------------------------------------------------------------+
|d 日。二桁の数字(先頭にゼロがつく場合も) 01 から 31
|D 曜日。3文字のテキスト形式。 Mon から Sun
|j 日。先頭にゼロをつけない。 1 から 31
|l (小文字の 'L') 曜日。フルスペル形式。 Sunday から Saturday
|N ISO-8601 形式の、曜日の数値表現 (PHP 5.1.0 で追加)。 1(月曜日)から 7(日曜日)
|S 英語形式の序数を表すサフィックス。2 文字。 st, nd, rd または th。 jと一緒に使用する ことができる。
|w 曜日。数値。 0 (日曜)から 6 (土曜)
|z 年間の通算日。数字。(ゼロから開始) 0 から 365
+--------------------------------------------------------------------------------------------------------+
週 --- ---
+--------------------------------------------------------------------------------------------------------+
|W ISO-8601 月曜日に始まる年単位の週番号 (PHP 4.1.0 で追加) 例: 42 (年の第 42 週目)
+--------------------------------------------------------------------------------------------------------+
月 --- ---
+--------------------------------------------------------------------------------------------------------+
|F 月。フルスペルの文字。 January から December
|m 月。数字。先頭にゼロをつける。 01 から 12
|M 月。3 文字形式。 Jan から Dec
|n 月。数字。先頭にゼロをつけない。 1 から 12
|t 指定した月の日数。 28 から 31
+--------------------------------------------------------------------------------------------------------+
年 --- ---
+--------------------------------------------------------------------------------------------------------+
|L 閏年であるかどうか。 1なら閏年。0なら閏年ではない。
|o ISO-8601 形式の年。これは Y ほぼ同じだが、ISO 週番号 (W)が前年あるいは翌年に属する場合がある点で 異なる(PHP 5.1.0 で追加)。 例: 1999 あるいは 2003
|Y 年。4 桁の数字。 例: 1999または2003
|y 年。2 桁の数字。 例: 99 または 03
+--------------------------------------------------------------------------------------------------------+
時 --- ---
+--------------------------------------------------------------------------------------------------------+
|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
|u マイクロ秒 (PHP 5.2.2 で追加)。 例: 654321
+--------------------------------------------------------------------------------------------------------+
タイムゾーン --- ---
+--------------------------------------------------------------------------------------------------------+
|e タイムゾーン識別子(PHP 5.1.0 で追加) 例: UTC, GMT, Atlantic/Azores
|I (大文字の i) サマータイム中か否か 1ならサマータイム中。 0ならそうではない。
|O グリニッジ標準時 (GMT) との時差 例: +0200
|P グリニッジ標準時 (GMT) との時差。時間と分をコロンで区切った形式 (PHP 5.1.3 で追加)。 例: +02:00
|T タイムゾーンの略称 例: EST, MDT ...
|Z タイムゾーンのオフセット秒数。 UTC の西側のタイムゾーン用のオフセットは常に負です。そして、 UTC の東側のオフセットは常に正です。 -43200 から 50400
+--------------------------------------------------------------------------------------------------------+
全ての日付/時刻 --- ---
+--------------------------------------------------------------------------------------------------------+
|c ISO 8601 日付 (PHP 5 で追加されました) 2004-02-12T15:19:21+00:00
|r ≫ RFC 2822 フォーマットされた日付 例: Thu, 21 Dec 2000 16:01:07 +0200
|U Unix Epoch (1970 年 1 月 1 日 0 時 0 分 0 秒) からの秒数 time() も参照
+--------------------------------------------------------------------------------------------------------+
これに加え、日本語の曜日を表すオリジナルフォーマット"x"が利用できるものとする。xは"日"~"土"のような漢字が当てこまれる。

注意)
Ver5.1 有効なタイムスタンプの範囲は、通常Fri, 13 Dec 1901 20:45:54 GMT から Tue, 19 Jan 2038 03:14:07 GMTまで。
しかし5.1未満のWindows環境では1970 年 1 月 1 日から 2038 年 1 月 19 日 までに制限される。
タイムスタンプが0の場合、1970年1月1日0時0分0秒 GMTを指す。これ以前のものは負数になる。

002 - 2011/07/14 xirasaya
001 - 20xx/xx/xx xirasaya
ソースコード [表示]


[top]