NoCurrentDateDefaultは、変換しようとする文字列中に日付がない場合、現在の日付ではなく 1年1月1日 (DateTime.Min)を表すものとして変換を行います。 なお、このオプションはDateTimeOffset.Parseでは無効で、指定した場合は例外ArgumentExceptionがスローされます。

なお、日付のみで時刻がない場合は常に00:00:00を表すものとして変換を行います。 これはDateTimeおよびDateTimeOffsetともに同じ動作となります。

DateTime.ParseメソッドでDateTimeStyles.NoCurrentDateDefaultを指定し、今日ではなく1年1月1日の時刻として変換する
using System;
using System.Globalization;

class Sample {
  static void Main()
  {
    var inputs = new string[] {
      "2013/04/03 15:00:30",  // 日付と時刻
      "15:00:30",             // 時刻のみ
      "15:00",                // 時分のみ
    };
    var styles = new DateTimeStyles[] {
      DateTimeStyles.None,                  // オプション指定なし (デフォルトの動作、今日の日付が設定される)
      DateTimeStyles.NoCurrentDateDefault,  // 日付がない場合、1年1月1日を設定する
    };

    // 文字列をDateTimeへ変換
    foreach (var input in inputs) {
      foreach (var style in styles) {
        var dt = DateTime.Parse(input, null, style);

        Console.WriteLine("{0,-20} ({1,-22}) -> {2}", input, style, dt);
      }
      Console.WriteLine();
    }
  }
}
実行結果例
2013/04/03 15:00:30  (None                  ) -> 2013/04/03 15:00:30
2013/04/03 15:00:30  (NoCurrentDateDefault  ) -> 2013/04/03 15:00:30

15:00:30             (None                  ) -> 2013/03/02 15:00:30
15:00:30             (NoCurrentDateDefault  ) -> 0001/01/01 15:00:30

15:00                (None                  ) -> 2013/03/02 15:00:00
15:00                (NoCurrentDateDefault  ) -> 0001/01/01 15:00:00

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。