Parseメソッドは、日付のみ・時刻のみといった不完全な日時を表す文字列も解析出来ます。 この際、時刻部分に欠損があれば0時0分0秒、日付部分に欠損があれば現在の日付を表すものとして扱われます。 DateTimeOffset.Parseメソッドの場合、オフセット値に欠損がある場合はローカル時刻のオフセット値が設定されます。

DateTime/DateTimeOffset.Parseメソッドで不完全な日時の文字列を変換する
Imports System

Class Sample
  Shared Sub Main()
    Dim inputs() As String = New String() { _
      "Mon, 01 Apr 2013", _
      "15:00:30", _
      "2013-04", _
      "15:00:30.12-05:00", _
      "15:00", _
      "2013年4月1日" _
    }

    ' 文字列をDateTimeに変換
    For Each input As String In inputs
      Console.WriteLine("{0,-20} -> {1}", input, DateTime.Parse(input))
    Next
    Console.WriteLine()

    ' 文字列をDateTimeOffsetに変換
    For Each input As String In inputs
      Console.WriteLine("{0,-20} -> {1}", input, DateTimeOffset.Parse(input))
    Next
    Console.WriteLine()
  End Sub
End Class
実行結果
Mon, 01 Apr 2013     -> 2013/04/01 0:00:00
15:00:30             -> 2013/02/03 15:00:30
2013-04              -> 2013/04/01 0:00:00
15:00:30.12-05:00    -> 2013/02/04 5:00:30
15:00                -> 2013/02/03 15:00:00
2013年4月1日            -> 2013/04/01 0:00:00

Mon, 01 Apr 2013     -> 2013/04/01 0:00:00 +09:00
15:00:30             -> 2013/02/03 15:00:30 +09:00
2013-04              -> 2013/04/01 0:00:00 +09:00
15:00:30.12-05:00    -> 2013/02/03 15:00:30 -05:00
15:00                -> 2013/02/03 15:00:00 +09:00
2013年4月1日            -> 2013/04/01 0:00:00 +09:00

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