.NET Frameworkでは、標準の日付と時刻の書式が用意されていて、その中から目的に応じた書式を選ぶことが出来ます。 以下は、DateTime・DateTimeOffsetに対していくつかの標準の書式指定子を指定して文字列化した例です。

以下の例で使用している書式はローカライズされる書式(実行環境の国と地域の設定によって結果が異なる書式)です。 そのため、年月日の順序や区切りに用いられる記号、月や曜日の表記など、実行環境の言語設定にしたがって実行結果が変わります。

標準の書式指定子を使ってDateTime/DateTimeOffsetを文字列に変換する(ローカライズされる書式の例)
using System;

class Sample {
  static void Main()
  {
    var dt = 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();

    var dto = 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();
  }
}
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