書式の構文

項目の表示書式,組込み関数の #文字列 などで利用する書式の詳しい構文を BNF記法で説明します。BNF記法に関しては,構文の記述法を参照してください。


目次
文字列書式
数値書式
日付書式
時刻書式
年月間隔書式
日時間隔書式
共通要素など
解説

<書式>::=<文字列書式> [ ; <ナル書式> ]
|<数値書式> [ ; <数値書式> [ ; <数値書式> [ ; <ナル書式> ] ] ]
|<日付書式> [ ; <ナル書式> ]
|<時刻書式> [ ; <ナル書式> ]
|<年月間隔書式> [ ; <年月間隔書式> [ ; <年月間隔書式> [ ; <ナル書式> ] ] ]
|<日時間隔書式> [ ; <日時間隔書式> [ ; <日時間隔書式> [ ; <ナル書式> ] ] ]

文字列書式

<文字列書式>::=[ <書式色指定> ] <任意文字列> <文字列書式本体> <任意文字列>
<文字列書式本体>::=<元データ指定>
|<最大桁数指定>
|<左寄せ桁数指定> [ <元データ指定> | <最大桁数指定> ]
|[ <元データ指定> | <最大桁数指定> ] <右寄せ桁数指定>
<元データ指定>::=*
<最大桁数指定>::=#...
<左寄せ桁数指定>::=<... | ...
<右寄せ桁数指定>::=>... | ...

数値書式

<数値書式>::=[ <書式色指定> ] <任意文字列> [ <数値書式接頭辞> ] <数値書式本体> [ <数値書式接尾辞> ] <任意文字列>
<数値書式本体>::=<整数部書式> [ <小数部書式> ] [ <指数部書式> ]
|<小数部書式> [ <指数部書式> ]
|<特殊数値書式>
<整数部書式>::=[ <任意桁数指定> [ , ] ]... [ <ゼロ空白指定> [ , ] ]... [ <ゼロ明示指定> [ , ] ]...
<小数部書式>::=.[ <ゼロ明示指定>... ] [ <ゼロ空白指定>... ] [ <任意桁数指定> ]
<指数部書式>::=<指数記号> [ <符号> ] [ <任意桁数指定> ] [ <ゼロ空白指定>... ] [ <ゼロ明示指定>... ]
<任意桁数指定>::=#...
<ゼロ空白指定>::=?
<ゼロ明示指定>::=0
<指数記号>::=E | e
<数値書式接頭辞>::=<符号> [ <通貨記号> ] | <通貨記号> [ <符号> ]
<数値書式接尾辞>::=<符号> [ <パーセント> ] | <パーセント> [ <符号> ]
<通貨記号>::=\ | $
<符号>::=+ | -
<パーセント>::=%
<特殊数値書式>::=<十六進書式> | <八進書式> | <二進書式> | <曜日書式>
<十六進書式>::=x... | X...
<八進書式>::=o... | O...
<二進書式>::=b... | B...
<曜日書式>::=<和曜日> | <英語曜日> | <英語略曜日>
<和曜日>::=W
<英語曜日>::=WWWW | Wwww | wwww
<英語略曜日>::=WWW | Www | www

日付書式

<日付書式>::=[ <書式色指定> ] <日付書式本体>
<日付書式本体>::=<任意文字列> [ <日付書式部分> <任意文字列> ]...
<日付書式部分>::=<年書式> | <干支年書式> | <月書式> | <日書式> | <曜日書式> | <干支日書式> | <六曜書式>
<日付書式部分> の各書式は,書式中で高々1回だけ書くことができます。ただし,<干支年書式> の 干年支年,および <干支日書式> の 干日支日 とは同時に書くことができます。
<年書式>::=<西暦年書式> | <現代和暦年書式> | <陰暦年書式>
<西暦年書式>::=[ 西暦 | 西 | A.D. | AD | a.d. | ad | B.C. | BC | b.c. | bc ] <西暦年>
<西暦年>::=<4桁年> | <下2桁年> | <ゼロ抑制年>
<4桁年>::=yyyy
<下2桁年>::=yy
<ゼロ抑制年>::=y
<現代和暦年書式>::=[ <元号指定> ] <和暦年> | <元号指定>
<元号指定>::=平成 | 元号 | | | H
<和暦年>::=<2桁和暦年> | <ゼロ空白和暦年> | <ゼロ抑制和暦年>
<2桁和暦年>::=rr
<ゼロ空白和暦年>::=?r
<ゼロ抑制和暦年>::=r
<陰暦年書式>::=陰暦 <西暦年> | <西暦年>
|旧暦 [ <和暦年> ]
|(旧暦) [ <和暦年> ]
|南朝 [ <和暦年> ] | 北朝 [ <和暦年> ]
<干支年書式>::=干年 | 支年 | 干支年
<月書式>::=<ゼロ明示月> | <ゼロ空白月> | <ゼロ抑制月> | <英語月> | <英語略月> | <陰暦月>
<ゼロ明示月>::=mm
<ゼロ空白月>::=?m
<ゼロ抑制月>::=m
<英語月>::=MMMM | Mmmm | mmmm
<英語略月>::=MMM | Mmm | mmm
<陰暦月>::=M
<日書式>::=<ゼロ明示日> | <ゼロ空白日> | <ゼロ抑制日> | <英語日>
<ゼロ明示日>::=dd
<ゼロ空白日>::=?d
<ゼロ抑制日>::=d
<英語日>::=dth
<干支日書式>::=干日 | 支日 | 干支日
<六曜書式>::=六曜

時刻書式

<時刻書式>::=[ <書式色指定> ] [ <任意文字列> <午前午後指定> ] <時刻書式本体>
|[ <書式色指定> ] <時刻書式本体> [ <午前午後指定> <任意文字列> ]
<時刻書式本体>::=<時書式> [ <分書式> [ <秒書式> ] ]
|[ <時書式> ] <分書式> [ <秒書式> ]
|[ [ <時書式> ] <分書式> ] <秒書式>
<時書式>::=<任意文字列> [ <ゼロ明示時> | <ゼロ空白時> | <ゼロ抑制時> ] <任意文字列>
<分書式>::=<任意文字列> [ <ゼロ明示分> | <ゼロ空白分> | <ゼロ抑制分> ] <任意文字列>
<秒書式>::=<任意文字列> [ <ゼロ明示秒> | <ゼロ空白秒> | <ゼロ抑制秒> ] <任意文字列>
<ゼロ明示時>::=hh
<ゼロ空白時>::=?h
<ゼロ抑制時>::=h
<ゼロ明示分>::=mm
<ゼロ空白分>::=?m
<ゼロ抑制分>::=m
<ゼロ明示秒>::=ss
<ゼロ空白秒>::=?s
<ゼロ抑制秒>::=s
<午前午後指定>::=午前 | 午後 | 午前/午後 | A.M. | P.M. | A.M./P.M. | a.m. | p.m. | a.m./p.m. | AM | PM | AM/PM | am | pm | am/pm

年月間隔書式

<年月間隔書式>::=[ <書式色指定> ] [ <符号> ] <年月間隔書式本体>
<年月間隔書式本体>::=[ <年数書式> ] [ <月数書式> ]
<年数書式>::=<任意文字列> [ ?... ] y... <任意文字列>
<月数書式>::=<任意文字列> [ ?... ] m... <任意文字列>

日時間隔書式

<日時間隔書式>::=[ <書式色指定> ] [ <符号> ] <日時間隔書式本体>
<日時間隔書式本体>::=<週数書式> [ <日数書式> [ <時間数書式> [ <分数書式> [ <秒数書式> ] ] ] ]
|[ <週数書式> ] <日数書式> [ <時間数書式> [ <分数書式> [ <秒数書式> ] ] ]
|[ [ <週数書式> ] <日数書式> ] <時間数書式> [ <分数書式> [ <秒数書式> ] ]
|[ [ [ <週数書式> ] <日数書式> ] <時間数書式> ] <分数書式> [ <秒数書式> ]
|[ [ [ [ <週数書式> ] <日数書式> ] <時間数書式> ] <分数書式> ] <秒数書式>
<週数書式>::=<任意文字列> [ ?... ] w... <任意文字列>
<日数書式>::=<任意文字列> [ ?... ] d... <任意文字列>
<時間数書式>::=<任意文字列> [ ?... ] h... <任意文字列>
<分数書式>::=<任意文字列> [ ?... ] m... <任意文字列>
<秒数書式>::=<任意文字列> [ ?... ] s... <任意文字列>

共通要素など

<ナル書式>::=[ <書式色指定> ] <任意文字列>
<任意文字列>::=[ <文字> | <エスケープ文字> ]...
<エスケープ文字>::=^ <文字> | ^^
<書式色指定>::= [ <色> ]
<色>::=標準 | | 深紅 | 深緑 | 青豆色 | 深青 | 深紫 | 青灰色 | 薄灰色 | 深灰色 | | | | | | 水色 |
<ゼロ抑制書式本体>::=[ <部分書式> ]... { <部分書式>... } [ <部分書式> ]...
<部分書式>::=<時書式> | <分書式> | <秒書式> | <年数書式> | <月数書式> | <週数書式> | <日数書式> | <時間数書式> | <分数書式> | <秒数書式> | <ゼロ抑制書式本体>

解説

関連項目

→書式