2012年12月7日金曜日

.net 書式

標準の日時書式指定文字列

以下に、標準の日時書式指定文字列で使用できる書式指定子を表にまとめます。
書式指定子 名前 説明 例 (ja-JP) 例 (en-US)
d 短い形式の日付パターン ToShortDateStringメソッドと同じ 2002/05/12 5/12/2002
D 長い形式の日付パターン ToLongDateStringメソッドと同じ 2002年5月12日 Friday, May 12, 2002
t 短い形式の時刻パターン ToShortTimeStringメソッドと同じ 20:30 8:30 PM
T 長い形式の時刻パターン ToLongTimeStringメソッドと同じ 20:30:15 8:30:15 PM
f 完全な日付と時刻のパターン (短い形式の時刻) D と t を空白で区切って組み合わせる 2002年5月12日 20:30 Friday, May 12, 2002 8:30 PM
F 完全な日付と時刻のパターン (長い形式の時刻) D と T を空白で区切って組み合わせる 2002年5月12日 20:30:15 Friday, May 12, 2002 8:30:15 PM
g 一般の日付と時刻のパターン (短い形式の時刻) d と t を空白で区切って組み合わせる 2002/05/12 20:30 5/12/2002 8:30 PM
G 一般の日付と時刻のパターン (長い形式の時刻) d と T を空白で区切って組み合わせる 2002/05/12 20:30:15 5/12/2002 8:30:15 PM
Y または y 年月パターン
2002年5月 May, 2002
m または M 月日パターン
5月12日 May 12
r または R RFC1123 パターン RFC1123に準拠しており、カルチャに依存しない Sun, 12 May 2002 20:30:15 GMT Sun, 12 May 2002 20:30:15 GMT
O または o ラウンド トリップする日付と時刻のパターン ISO 8601に準拠しており、カルチャに依存しない
.NET Framework 2.0以降でサポート
2002-05-12T20:30:15.1230000 2002-05-12T20:30:15.1230000
s 並べ替え可能な日付と時刻のパターン (ISO 8601 準拠) ISO 8601に準拠しており、カルチャに依存しない 2002-05-12T20:30:15 2002-05-12T20:30:15
u 並べ替え可能な日付と時刻のパターン (世界時刻) カルチャに依存しない
ToUniversalTimeメソッドなどで世界協定時刻 (UTC) に変換してからこの書式を使う
2002-05-12 20:30:15Z 2002-05-12 20:30:15Z
U 完全な日付と時刻のパターン (世界時刻) F と同じ書式だが、こちらは UTC 変換される
DateTimeOffset 型ではサポートしない
2002年5月12日 11:30:15 Sunday, May 12, 2002 11:30:15 AM
その他の 1 文字 (未定義の指定子) FormatException をスローする

補足:標準の日時書式指定文字列は、以下に紹介するカスタム日時書式指定文字列のエイリアスです。つまり、標準の日時書式指定文字列を使うということは、 そのエイリアスのカスタム日時書式指定文字列を使うことと同じです。どのようなカスタム日時書式指定文字列が使われるかは、カルチャによって変わる場合と 変わらない場合があります。カルチャによって変わる場合は、エイリアスとなるカスタム日時書式指定文字列は CultureInfo.DateTimeFormatプロパティに定義されています。具体的には、「標準の日付と時刻の書式指定文字列」をご覧ください。

カスタム日時書式指定文字列

以下に、カスタム日時書式指定文字列で使用できる書式指定子を表にまとめます。
書式指定子 説明 補足 例 (ja-JP) 例 (en-US)
g, gg (任意の数の g 指定子を追加可能) 年代または紀元
西暦 A.D.
y 年の下1桁または2桁 (0~99) 1桁の時でも左側に0が入らない 2 2
yy 年の下2桁 (00~99) 1桁の時は左側に0が入る 02 02
yyy 年の下3桁以上 3桁未満の時は左側に0が入る
.NET Framework 2.0以降でサポート
2002 2002
yyyy 年の下4桁 4桁未満の時は左側に0が入る 2002 2002
yyyyy (任意の数の y 指定子を追加可能) 年の下5桁 5桁未満の時は左側に0が入る
.NET Framework 2.0以降でサポート
02002 02002
M 月 (1~12) 1桁の時でも左側に0が入らない 5 5
MM 月 (01~12) 1桁の時は左側に0が入る 05 05
MMM 月の省略名
5 May
MMMM 月の完全な名前
5月 May
d 日にち (1~31) 1桁の日にちでも左側に0が入らない 12 12
dd 日にち (01~31) 1桁の時は左側に0が入る 12 12
ddd 曜日の省略名
Sun
dddd (任意の数の d 指定子を追加可能) 曜日の完全な名前
日曜日 Sunday
t AM/PMの最初の文字 カルチャが"ja-JP"の時は午前も午後も「午」になるため、役に立たない P
tt, tt (任意の数の t 指定子を追加可能) AM/PM
午後 PM
H 時間 (0~23) 1桁の時でも左側に0が入らない 20 20
HH, HH (任意の数の H 指定子を追加可能) 時間 (00~23) 1桁の時は左側に0が入る 20 20
h 時間 (1~12) 午前と午後は区別できない
1桁の時でも左側に0が入らない
8 8
hh, hh (任意の数の h 指定子を追加可能) 時間 (01~12) 午前と午後は区別できない
1桁の時は左側に0が入る
08 08
m 分 (0~59) 1桁の時でも左側に0が入らない 30 30
mm, mm (任意の数の m 指定子を追加可能) 分 (00~59) 1桁の時は左側に0が入る 30 30
s 秒 (0~59) 1桁の時でも左側に0が入らない 15 15
ss, ss (任意の数の s 指定子を追加可能) 秒 (00~59) 1桁の時は左側に0が入る 15 15
f 1/10秒 0 の時は"0"となる(以下の ff... も f の数だけ 0 を表示) 1 1
ff 1/100秒
12 12
fff 1/1000秒
123 123
ffff 1/10000秒
1230 1230
fffff 1/100000秒
12300 12300
ffffff 1/1000000秒
123000 123000
fffffff 1/10000000秒
1230000 1230000
F 1/10秒 0 の時は何も表示しない(以下の FF... も同じ) 1 1
FF 1/100秒 左側に 0 があっても表示しない(以下の FFF... も同じ) 12 12
FFF 1/1000秒
123 123
FFFF 1/10000秒
123 123
FFFFF 1/100000秒
123 123
FFFFFF 1/1000000秒
123 123
FFFFFFF 1/10000000秒
123 123
K タイム ゾーン情報 DateTimeの場合は、Kindプロパティの値によって定義が異なる。Localなら「zzz」に相当。Utcなら「Z」。Unspecifiedなら空文字。
DateTimeOffsetの場合は、「zz」に相当。
.NET Framework 2.0以降でサポート


z UTCを基準とするオフセット(時間単位) DateTimeの場合は、OSのローカルタイムゾーンのUTCを基準とした符号付きオフセット(時間単位)
DateTimeOffsetの場合は、DateTimeOffset値の、UTCを基準とするオフセット(時間単位)
1桁の時でも左側に0が入らない
+9 +9
zz UTCを基準とするオフセット(時間単位) z と同じだが、1桁の時は左側に0が入る +09 +09
zzz, zzz (任意の数の z 指定子を追加可能) UTCを基準とするオフセット(時間および分単位) zz と同じだが、時間および分単位 +09:00 +09:00
:
/
区切り記号 カルチャによって変わる : :
'string'
"string"
文字列リテラル シングルクォートまたはダブルクオートで囲まれた文字列はそのまま表示される

%c カスタム書式指定子を単独で使用する カスタム日時書式指定文字列を単独で使っても標準の日時書式指定文字列とならないようにする
例えば、"%d"とすれば日にちの書式となる


\c エスケープ文字 書式指定子をエスケープする

その他の文字 その他の文字はそのまま表示される

0 件のコメント:

コメントを投稿