なお、DateTimeにはToString以外にも文字列化を行う次のようなメソッドが用意されています。 いずれも、標準の書式指定子を指定してToStringメソッドを呼び出した場合と同じです。
| メソッド | 得られる文字列 | 等価な書式指定子 |
|---|---|---|
| ToLongDateString | 長い日付の形式 |
D
|
| ToLongTimeString | 長い時刻の形式 |
T
|
| ToShortDateString | 短い日付の形式 |
d
|
| ToShortTimeString | 短い時刻の形式 |
t
|
これらのメソッドで使用される書式はローカライズされる書式であるため、得られる文字列は実行環境の言語設定によって異なります。
定義済みの書式でDateTimeを文字列に変換する
using System;
class Sample {
static void Main()
{
var now = DateTime.Now;
Console.WriteLine("{0} {1}", now.ToString("D"), now.ToLongDateString()); // 長い日付の形式
Console.WriteLine("{0} {1}", now.ToString("T"), now.ToLongTimeString()); // 長い時刻の形式
Console.WriteLine("{0} {1}", now.ToString("d"), now.ToShortDateString()); // 短い日付の形式
Console.WriteLine("{0} {1}", now.ToString("t"), now.ToShortTimeString()); // 短い時刻の形式
}
}
ja-JPでの実行結果例
2013年4月1日 2013年4月1日 15:00:30 15:00:30 2013/04/01 2013/04/01 15:00 15:00
DateTimeOffsetにはこういったメソッドは用意されていないため、ToStringメソッドと書式指定子を組み合わせて文字列化する必要があります。