C#.NETメモ:DateTime:日時を指定書式の文字列に変換

C#.NETで日時を指定書式の文字列に変換する方法をメモしておきます。

書式には標準書式とカスタム書式の2種類があるようです。
私はカスタム書式の方が自由に使えるので良く使います。

しかし『d』等、カスタム書式を1文字だけで使用すると標準書式として動作してしまうので注意が必要です。
この場合、『%d』のように『%』を付与することでカスタム書式として扱えます。

以下にはDateTime.ToStringを使用した例でまとめてあります。
書式は、DateTime.ToStringの場合は『dateTime.ToString("書式")』のように記述、
String.FormatやConsole.Writeの場合は『String.Format("{0:書式}", dateTime)』のように記述します。
(私が)良く使う記述例(カスタム書式)
内容 記述例 出力
年月日
DateTime.Now.ToString("yyyy/MM/dd")
2013/02/05
DateTime.Now.ToString("yyyy年MM月dd日")
2013年02月05日
DateTime.Now.ToString("yyyyMMdd")
20130205
時分秒
DateTime.Now.ToString("tthh:mm:ss")
午前04:05:06
DateTime.Now.ToString("tthh時mm分ss秒")
午前04時05分06秒
時分秒(24時間形式)
DateTime.Now.ToString("HH:mm:ss")
16:05:06
時分秒(ミリ秒)
DateTime.Now.ToString("HH:mm:ss.fff")
16:05:06.789
日時書式(カスタム書式)
内容 書式 記述例 出力
年号
※単独使用時は%を付ける
gまたはgg
DateTime.Now.ToString("%g")
西暦
DateTime.Now.ToString("gg")
西暦
年(0〜99)
※単独使用時は%を付ける
y
DateTime.Now.ToString("%y")
13
DateTime.Now.ToString("y/M/d")
13/2/5
年(00〜99) yy
DateTime.Now.ToString("yy")
13
年(3桁以上) yyy
DateTime.Now.ToString("yyy")
2013
年(4桁) yyyy
DateTime.Now.ToString("yyyy")
2013
月(1〜12)
※単独使用時は%を付ける
M
DateTime.Now.ToString("%M")
2
DateTime.Now.ToString("yyyy/M/d")
2013/2/5
月(01〜12) MM
DateTime.Now.ToString("MM")
02
月略称 MMM
DateTime.Now.ToString("MMM")
2
月名称 MMMM
DateTime.Now.ToString("MMMM")
2月
日(0〜31)
※単独使用時は%を付ける
d
DateTime.Now.ToString("%d")
5
DateTime.Now.ToString("yyyy/M/d")
2013/2/5
日(00〜31) dd
DateTime.Now.ToString("dd")
05
曜日略称 ddd
DateTime.Now.ToString("ddd")
曜日名称 dddd
DateTime.Now.ToString("dddd")
火曜日
午前・午後(略称)
※単独使用時は%を付ける
t
DateTime.Now.ToString("%t")
DateTime.Now.ToString("t hh:mm")
午 04:05
午前・午後 tt
DateTime.Now.ToString("tt")
午前
時(1〜12)
※単独使用時は%を付ける
h
DateTime.Now.ToString("%h")
4
DateTime.Now.ToString("h:m:s")
4:5:6
時(01〜12) hh
DateTime.Now.ToString("hh")
04
時(0〜23)
※単独使用時は%を付ける
H
DateTime.Now.ToString("%H")
4
DateTime.Now.ToString("H:m:s")
4:5:6
時(00〜23) HH
DateTime.Now.ToString("HH")
04
分(0〜59)
※単独使用時は%を付ける
m
DateTime.Now.ToString("%m")
5
DateTime.Now.ToString("h:m:s")
4:5:6
分(00〜59) mm
DateTime.Now.ToString("mm")
05
秒(0〜59)
※単独使用時は%を付ける
s
DateTime.Now.ToString("%s")
6
DateTime.Now.ToString("h:m:s")
4:5:6
秒(00〜59) ss
DateTime.Now.ToString("ss")
06
秒(小数点以下)
※fまたはFの個数だけの桁数を取得
※単独使用時は%を付ける
fまたはF
DateTime.Now.ToString("%f")
7
DateTime.Now.ToString("h:m:s.f")
4:5:6.7
DateTime.Now.ToString("ff")
78
DateTime.Now.ToString("fff")
789
DateTime.Now.ToString("%F")
7
DateTime.Now.ToString("h:m:s.F")
4:5:6.7
DateTime.Now.ToString("FF")
78
DateTime.Now.ToString("FFF")
789
日時書式(標準書式)
内容 書式 記述例 出力
長い形式の日付 D
DateTime.Now.ToString("D")
2013年2月5日
短い形式の日付 d
DateTime.Now.ToString("d")
2013/02/05
年月 Y または y
DateTime.Now.ToString("Y")
2013年2月
月日 M または m
DateTime.Now.ToString("M")
2月5日
長い形式の時刻 T
DateTime.Now.ToString("T")
18:19:14
短い形式の時刻 t
DateTime.Now.ToString("t")
18:19
長い形式の完全な日時 F
DateTime.Now.ToString("F")
2013年2月5日 18:12:19
短い形式の完全な日時 f
DateTime.Now.ToString("f")
2013年2月5日 18:12
長い形式の一般の日時 G
DateTime.Now.ToString("G")
2013/02/05 18:15:24
短い形式の一般の日時 g
DateTime.Now.ToString("g")
2013/02/05 18:15
並べ替え可能な日時 s
DateTime.Now.ToString("s")
2013-02-05T18:23:50
世界時刻形式の完全な日時 U
DateTime.Now.ToString("U")
2013年2月5日 9:26:02
世界時刻形式の並べ替え可能な日時 u
DateTime.Now.ToString("u")
2013-02-05 18:26:02Z
ラウントリップする日時 O または o
DateTime.Now.ToString("O")
2013-02-05T18:23:50.6560730+09:00
RFC1123形式の日時 R または r
DateTime.Now.ToString("R")
Tue, 05 Feb 2013 18:23:50 GMT


コメント
コメントする








    
この記事のトラックバックURL
トラックバック