Pot.DateTime.format

{String} Pot.DateTime.format ({String} dateFormat [, {Date|Number|*} timestamp])
{String} Pot.date ({String} dateFormat [, {Date|Number|*} timestamp])

Pot.js で利用可能。 PotLite.js では利用できません。

日時を書式化して返します。

指定されたタイムスタンプを表す引数 timestamp を、
引数のフォーマット文字列 dateFormat により書式化し、日付文字列を返します。
引数 timestamp が与えられると、timestamp の日時で返します。
timestamp が省略されると 現在の時刻が使用されます。

この関数は、PHP の date() 関数 とほぼ同じに動作します。
以下の表は引用も含まれています。以下の文字が dateFormat パラメータ文字列として認識されます。

dateFormat 文字 説明 戻り値の例
--- ---
d 日。二桁の数字 (先頭にゼロがつく場合も) 01 から 31
D 曜日。3 文字のテキスト形式。 Mon から Sun
j 日。先頭にゼロをつけない。 1 から 31
l (小文字の 'L') 曜日。フルスペル形式。 Sunday から Saturday
N ISO-8601 形式の、曜日の数値表現 1 (月曜日) から 7 (日曜日)
S 英語形式の序数を表すサフィックス。2 文字。 st, nd, rd または th など。 j と一緒に使用することができる。
w 曜日。数値。 0 (日曜)から 6 (土曜)
J 曜日。日本の曜日。文字列。 (日曜) から (土曜)
z 年間の通算日。数字。(0 から開始) 0 から 365
--- ---
F 月。フルスペルの文字。 January から December
m 月。数字。先頭にゼロをつける。 01 から 12
M 月。3 文字形式。 Jan から Dec
n 月。数字。先頭にゼロをつけない。 1 から 12
o 月。文字列。日本の旧月名。 霜月, 水無月 など
t 指定した月の日数。 28 から 31
--- ---
L 閏年かどうか。 1 なら閏年。0 なら閏年でない。
Y 年。4 桁の数字。 例: 1999, 2003 など
y 年。2 桁の数字。 例: 99, 03 など
--- ---
a 午前または午後 (小文字) am または pm
A 午前または午後 (大文字) AM または PM
g 時。12時間単位。先頭にゼロを付けない。 1 から 12
G 時。24時間単位。先頭にゼロを付けない。 0 から 23
h 時。数字。12 時間単位。 01 から 12
H 時。数字。24 時間単位。 00 から 23
i 分。先頭にゼロをつける。 00 から 59
s 秒。先頭にゼロをつける。 00 から 59
u マイクロ秒。(0 でパディングして桁合わせするだけ) 例: 654000 など
タイムゾーン --- ---
O グリニッジ標準時 (GMT) との時差 例: +0900
P グリニッジ標準時 (GMT) との時差。時間と分をコロンで区切った形式。 例: +09:00
T タイムゾーンの略称 例: EST, MDT ...
Z タイムゾーンのオフセット秒数。 UTC の西側のタイムゾーン用のオフセットは常に負です。 そして、UTC の東側のオフセットは常に正です。 -43200 から 50400
全ての日付/時刻 --- ---
c ISO 8601 日付 例: 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 秒) からの秒数 Pot.time() も参照

フォーマット文字は、バックスラッシュ \ によってエスケープすることができます。

var result = Pot.date('Y/m/d (J) H:i [\\o=o]');

debug(result); // e.g. '2011/06/08 (水) 11:30 [o=水無月]'

また、以下の定義済みの定数が用意されています。以下のように使用できます。

debug( Pot.date.RSS );           // 'D, d M Y H:i:s O'
debug( Pot.date(Pot.date.RSS) ); // e.g. 'Mon, 15 Aug 2005 15:52:01 +0000'

定義済み定数:

Pot.DateTime.format.ATOM
Pot.date.ATOM
Atom (例: 2005-08-15T15:52:01+00:00)
Pot.DateTime.format.COOKIE
Pot.date.COOKIE
HTTP Cookies (例: Monday, 15-Aug-05 15:52:01 UTC)
Pot.DateTime.format.ISO8601
Pot.date.ISO8601
ISO-8601 (例: 2005-08-15T15:52:01+0000)
Pot.DateTime.format.RFC822
Pot.date.RFC822
RFC 822 (例: Mon, 15 Aug 05 15:52:01 +0000)
Pot.DateTime.format.RFC850
Pot.date.RFC850
RFC 850 (例: Monday, 15-Aug-05 15:52:01 UTC)
Pot.DateTime.format.RFC1036
Pot.date.RFC1036
RFC 1036 (例: Mon, 15 Aug 05 15:52:01 +0000)
Pot.DateTime.format.RFC1123
Pot.date.RFC1123
RFC 1123 (例: Mon, 15 Aug 2005 15:52:01 +0000)
Pot.DateTime.format.RFC2822
Pot.date.RFC2822
RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000)
Pot.DateTime.format.RFC3339
Pot.date.RFC3339
ATOM と同じ
Pot.DateTime.format.RSS
Pot.date.RSS
RSS (Mon, 15 Aug 2005 15:52:01 +0000)
Pot.DateTime.format.W3C
Pot.date.W3C
World Wide Web Consortium (例: 2005-08-15T15:52:01+00:00)

Pot.DateTime.format() は、Pot.date() としてアクセスできます。
Pot.globalize() が適応されている場合、Pot.date() が date() で実行できます。

書式化した日時が文字列で返ります。

debug( Pot.date('Y-m-d H:i:s') );           // e.g. '2011-06-07 01:25:17'
debug( Pot.date('Y/m/d (J) H:i [\\o=o]') ); // e.g. '2011/06/08 (水) 11:30 [o=水無月]'
debug( Pot.date(Pot.date.RFC2822);          // e.g. 'Wed, 08 Jun 2011 02:34:21 +0900'