[TIPS] Field Reportsの書式指定で日付を和暦に変換する方法

Field Reportsには,日付または時刻のデータを書式変換する機能があります。ほとんどのプログラミング言語では自前の日付/時刻の書式変換機能を持っていますが,和暦の変換機能は珍しいのではないでしょうか?

 

今回は和暦の変換を中心に日付/時刻書式変換機能をご紹介します。

入力データ

Field Reportsでは,日付/時刻のデータを以下の書式の文字列で表現します。

 

YYYY-MM-DDThh:mm:ss

 

これはISO 8601規格に準じた形式で,“T”により日付と時刻を区切ります。

「YYYY-MM-DD」や「hh:mm:ss」のように,日付や時刻だけを表すこともできます。

 

また,ISO 8601規格からは外れますが,“T”の代わりにスペース“ ”を使っても良いことにしています。

書式指定文字列

日付/時刻の書式変換文字列として,以下のプレースフォルダを使用することができます。

 

書式指定文字列 意味

YY

2桁年(0パディングする)

YYYY

4桁年(0パディングする)

M

月(0パディングしない)

MM

月(0パディングする)

B

月略名(Jan., Feb.,..., Dec.)

BB

月正式名(1月, 2月,..., 12月)

D

日(0パディングしない)

DD

日(0パディングする)

A

曜日略名(日, 月,..., 土)

AA

曜日正式名(日曜日, 月曜日,..., 土曜日)

G

年号略名(M, T, S, H)

GG

年号正式名(明治, 大正, 昭和, 平成)

E

和暦(0パディングしない)

EE

和暦(0パディングする)

h

時(24時間表記,0パディングしない)

hh

時(24時間表記,0パディングする)

H

時(12時間表記,0パディングしない)

HH

時(12時間表記,0パディングする)

m

分(0パディングしない)

mm

分(0パディングする)

s

秒(0パディングしない)

ss

秒(0パディングする)

t

午前/午後略名(AM, PM)

tt

午前/午後正式名(午前, 午後)

\<文字>

エスケープ文字

'<文字列>', "<文字列>"

リテラル文字列

<その他の文字>

結果の文字列にコピーされる。 

 

和暦の年号を表示するには,GまたはGGを使用します。

Gを使うと年号の略名(M, T, S, H)に変換されます。

GGを使うと年号の正式名(明治, 大正, 昭和, 平成)に変換されます。

 

和暦の年を表示するには,EまたはEEを使用します。

Eを使うと0パディングしない和暦に変換されます。

EEを使うと0パディングした2ケタの和暦に変換されます。

 

明治以前の年が入力された場合は,西暦表示に切り替わり“A.D.”または“西暦”と表示します。

 

実行例

書式指定 日付/時刻 変換後文字列

YYYY年MM月DD日

2010-10-23

2010年10月23日

hh:mm:ss

15:24:35

15:24:35

GGEE年MM月DD日

1911-04-04

明治44年04月04日

AA

2040-01-01

日曜日