昨日、神青協サイトのリニューアルについてお知らせしました。
MHさんからのリクエストにお答えして、「Nucleusでの元号表示」・その方法を記します。
(私の備忘録にもなりますしね^^;)
私自身散々悩んだんですが・・・
その方法は非常に簡単でした。
1.ロケールを ja_JP.UTF-8 にして、
2.日付のフォーマットを %Ex(%a) にするだけ!
これで、 平成●年●月●日(●) となります。
Nucleusの管理画面のテンプレートの編集で、上記を設定するだけです。
もっとも、サーバーの環境によってできない場合もあるようですが・・・。
※euc版のNucleusを使っている場合は、
ja_JP.UTF-8 の部分を
ja_JP.EUC に読み替えてください。
%Exというのが、ロケール固有の代替日付表示のフォーマットなんですね。
日本だから平成・・・となるわけです。
2.の部分を色々といじると、色々な表示ができます。
H%Ey/%m/%d とすると H20/05/01
%Ey/%m/%d とすると 20/05/01
%Ey年%m月%d日 とすると 20年05月01日
%Ec とすると 平成20年05月01日15時05分12秒
などなど・・・。
ちなみに・・・
UI-OSF 日本語環境実装規約には次の記述があります。
%a 曜日の名前の省略形(abday) を表示します。
%A 省略しない曜日の名前(day) を表示します。
%b 月の名前の省略形(abmon) を表示します。
%h %b と同じです。
%B 省略しない月の名前(mon) を表示します。
%c 元号を使わない日付及び時刻(d t fmt) を表示します。
%x 元号を使わない日付(d fmt) を表示します。
%X 時刻(t fmt) を表示します。
%p 午前及び午後を表わす文字列(am pm) を表示します。
%r 午前及び午後を表わす文字列を使った時刻(t fmt ampm) を表示します。
%EC 元号(era) を表示します。
%Ey 元号での年数(era) を表示します。
%EY 元号を用いた年号(era) を表示します。
%Ex 元号を用いた日付(era d fmt) を表示します。
%Ec 元号を用いた日付及び時刻(era d t fmt) を表示します。
元号を使った年の表記で,年の数字の部分が何桁になるのかについては規定されていません。従って,”%EY" を指定したとき,”平成5 年",”平成05 年" あるいは”平成 5 年" のいずれが表示されるかは,プラットフォームによって異なります。
なお,昭和元年以前の元号の規定はありません。これは,ISO POSIX 規格に適合する多くのオペレーティングシステムは,1970 年1 月1 日を起点とする秒数で日付と時刻を表現するので,それ以前の元号を指定することができないからです。
MovableType や WordPress に応用が出来るのか否かは分かりませんが、ご参考までに^^;
phpのマニュアルにも下の記述があります。
* %a - 現在のロケールに基づく短縮された曜日の名前
* %A - 現在のロケールに基づく完全な曜日の名前
* %b - 現在のロケールに基づく短縮された月の名前
* %B - 現在のロケールに基づく完全な月の名前
* %c - 現在のロケールに基づく適当な日付と時間の表現
* %C - 世紀 (年を 100 で割り、整数に丸めたもの。00 から 99)
* %d - 日付を 10 進数で (01 から 31)。
* %D - %m/%d/%y と同じ
* %e - 月単位の日付を 10 進数で表したもの。日付が 1 桁の場合は、 前に空白を一つ付けます (' 1' から '31')。
* %g - 世紀以外は %G と同じ。
* %G - ISO 週番号 (%V を参照) に対応する 4 桁の年。 これは ISO 週番号が前年もしくは次年に属するかによって使用される年が 異なる事を除き %Y と同じフォーマットと値です。
* %h - %bと同じ。
* %H - 時間を 24 時間表示の 10 進数で (00 から 23 まで)。
* %I - 時間を 12 時間表示の 10 進数で (01 から 12 まで)。
* %j - 年間での日付を 10 進数で表現 (001 から 366)。
* %m - 月を 10 進数で表現 (01 から 12)。
* %M - 分を 10 進数で表現。
* %n - 改行文字。
* %p - 指定した時間により `am' または `pm'、 または現在のロケールの、それに対応する文字列。
* %r - a.m. および p.m. 表記で表した時間。
* %R - 24 時間表記で表した時間。
* %S - 秒を 10 進数で表現。
* %t - タブ文字。
* %T - 現在の時間。%H:%M:%S に等しい。
* %u - 10 進数表記の曜日。1 から 7 の範囲で表し、1 が月曜日。