.NETでは、標準の日付と時刻の書式が用意されていて、その中から目的に応じた書式を選ぶことが出来ます。 以下は、DateTime・DateTimeOffsetに対していくつかの標準の書式指定子を指定して文字列化した例です。
以下の例で使用している書式はローカライズされる書式(実行環境の国と地域の設定によって結果が異なる書式)です。 そのため、年月日の順序や区切りに用いられる記号、月や曜日の表記など、実行環境の言語設定にしたがって実行結果が変わります。
標準の書式指定子を使ってDateTime/DateTimeOffsetを文字列に変換する(ローカライズされる書式の例)
Imports System
Class Sample
Shared Sub Main()
Dim dt As DateTime = DateTime.Now
Console.WriteLine("D : {0}", dt.ToString("D")) ' 長い日付の形式
Console.WriteLine("d : {0}", dt.ToString("d")) ' 短い日付の形式
Console.WriteLine("T : {0}", dt.ToString("T")) ' 長い時刻の形式
Console.WriteLine("t : {0}", dt.ToString("t")) ' 短い時刻の形式
Console.WriteLine("F : {0}", dt.ToString("F")) ' 完全な日付と日時の形式 (長い形式)
Console.WriteLine("u : {0}", dt.ToString("u")) ' UTCでの完全な日付と日時の形式 (短い形式)
Console.WriteLine("G : {0}", dt.ToString("G")) ' 一般的な日付と日時の形式 (書式指定子を指定しなかった場合のデフォルト)
Console.WriteLine()
Dim dto As DateTimeOffset = DateTimeOffset.Now
Console.WriteLine("D : {0}", dto.ToString("D")) ' 長い日付の形式
Console.WriteLine("d : {0}", dto.ToString("d")) ' 短い日付の形式
Console.WriteLine("T : {0}", dto.ToString("T")) ' 長い時刻の形式
Console.WriteLine("t : {0}", dto.ToString("t")) ' 短い時刻の形式
Console.WriteLine("F : {0}", dto.ToString("F")) ' 完全な日付と日時の形式 (長い形式)
Console.WriteLine("u : {0}", dto.ToString("u")) ' UTCでの完全な日付と日時の形式 (短い形式)
Console.WriteLine("G : {0}", dto.ToString("G")) ' 一般的な日付と日時の形式 (書式指定子を指定しなかった場合のデフォルト)
Console.WriteLine()
End Sub
End Class
ja-JPでの実行結果例
D : 2013年4月1日 d : 2013/04/01 T : 15:00:30 t : 15:00 F : 2013年4月1日 15:00:30 u : 2013-04-01 15:00:30Z G : 2013/04/01 15:00:30 D : 2013年4月1日 d : 2013/04/01 T : 15:00:30 t : 15:00 F : 2013年4月1日 15:00:30 u : 2013-04-01 06:00:30Z G : 2013/04/01 15:00:30
en-USでの実行結果例
D : Monday, April 01, 2013 d : 4/1/2013 T : 3:00:30 PM t : 3:00 PM F : Monday, April 01, 2013 3:00:30 PM u : 2013-04-01 15:00:30Z G : 4/1/2013 3:00:30 PM D : Monday, April 01, 2013 d : 4/1/2013 T : 3:00:30 PM t : 3:00 PM F : Monday, April 01, 2013 3:00:30 PM u : 2013-04-01 06:00:30Z G : 4/1/2013 3:00:30 PM