ToOADateFromOADateメソッドは、日時の値をOLEオートメーション日時(double型・64ビット)の値に変換します。 このフォーマットでは時刻の種類は無視され、日時のみが変換されるという点に注意が必要です。 その他フォーマットの詳細などはToOADateメソッドのドキュメントを参照してください。

DateTime.oOADate/FromOADateメソッドで日時⇄OLEオートメーション日時の変換をする
using System;

class Sample {
  static void Main()
  {
    DateTime dt = DateTime.Now;
    double oadate = dt.ToOADate();

    Console.WriteLine("{0:o} -> {1}", dt, oadate);
    Console.WriteLine("{0} -> {1:o}", oadate, DateTime.FromOADate(oadate));
  }
}
実行結果例
2013-04-01T15:00:30.1230000+09:00 -> 41365.6253486458
41365.6253486458 -> 2013-04-01T15:00:30.1230000

OLEオートメーション形式で表現できる最小(最古)の日時は0100年01月01日 00:00:00でありDateTimeで扱える範囲よりも狭いため、その範囲を越える値を変換しようとした場合はOverflowExceptionがスローされます。 (ArgumentOutOfRangeExceptionがスローされるToFileTimeメソッドとはスローされる例外が異なる点に注意してください)