PHPのdate関数のフォーマットパターンと互換性のあるJavaScriptの日付フォーマットライブラリです。 ただし、全てのパターンが実装されているわけではありませんので、注意してください。PHPにない拡張機能として、日本語の曜日と旧暦の月名を表示することができます。
以下のリンクからダウンロードしてください。
DateFormatter.jsをロードします。
<script type="text/javascript" src="./DateFormatter.js"></script>
DateFormatterオブジェクトのformatメソッドでフォーマットを行います。例えば、現在の年月日時間を表示するときは以下のようにします。
var now = new Date();
alert(DateFormatter.format(now, "Y/m/d H:i:s"));
表示結果は「2007/01/15 16:30:12」といった形式になります。
フォーマット文字をエスケープする場合には、#を直前に付けます。例えば、「Ymd is 年月日」と表示したい場合は以下のようになります。
var now = new Date();
alert(DateFormatter.format(now, "#Y#m#d #i#s Ymd"));
DateFormatterの呼び出しを毎回コーディングせずに済むようにDateオブジェクトを拡張する方法もあります。
Date.prototype.format = function(pattern) {
return DateFormatter.format(this, pattern);
}
var now = new Date();
alert(now.format("Y/m/d H:i:s"));
おすすめではありませんが、グローバル関数にすることで、よりPHPらしい書き方もできます。
function date(pattern, time) {
var d = new Date();
if (time != null) {
d.setTime(time);
}
return DateFormatter.format(d, pattern);
}
alert(date("Y/m/d H:i:s"));
パターン | 説明 |
---|---|
Y | 年。4桁。 |
y | 年。2桁。 |
m | 月。前ゼロあり。 |
n | 月。前ゼロなし。 |
F | 月。フルスペル。 |
M | 月。3文字形式。 |
O | 月。旧暦日本語。 |
d | 日。前ゼロあり。 |
j | 日。前ゼロなし。 |
w | 曜日。数値。 |
l | 曜日。フルスペル。 |
D | 曜日。3文字形式。 |
N | 曜日。ISO-8601形式の数値。 |
J | 曜日。日本語。 |
g | 時。12時間単位。前ゼロなし。 |
G | 時。24時間単位。前ゼロなし。 |
h | 時。12時間単位。前ゼロあり。 |
H | 時。24時間単位。前ゼロあり。 |
i | 分。前ゼロあり。 |
s | 秒。前ゼロあり。 |
a | 午前または午後。(am/pm) |
A | 午前または午後。(AM/PM) |
S | 英語形式の序数を表すサフィックス。2文字。 |
z | 年間の通算日。数字。(ゼロから開始) |
t | 指定した月の日数。 |
L | 閏年であるかどうか。 |
テスト用のフォームです。フォーマットパターンを入力してみてください。
BSDライセンスとします。ソフトウェアの使用(実行)は制限なく自由ですが、再配布の際には、ソースコードであれバイナリであれ、 「著作権表示」「条件のリスト」「免責事項」を含める必要があります。