DateTimeOffsetでは、時刻は常にいずれかのタイムゾーンでの時刻を表す(UTCからの時差を持つ)ものとして扱われるため、時刻の種類という概念はありません。 そのかわり、タイムゾーンに対応するオフセット値を表すプロパティOffsetが用意されています。

このプロパティはUTCからの時差をTimeSpanとして表し、例えばDateTimeOffsetの表す日時がUTCの場合、Offsetプロパティの値は +00:00:00 (TimeSpan.Zero)になります。 また、実行環境の時刻が日本標準時(UTC+9)に設定されている環境の場合、DateTimeOffset.NowプロパティはOffsetに +09:00:00 が設定された値を返します。

なお、DateTimeOffset.DateTimeプロパティを参照すると、DateTimeOffsetからオフセット値部分を除いて日時部分だけにしたDateTimeを取得できます。 このプロパティで取得できるDateTimeのKindプロパティの値は、DateTimeKind.Unspecifiedとなります。

オフセット値を指定してDateTimeOffsetインスタンスを作成する
using System;

class Sample {
  static void Main()
  {
    var dt = new DateTime(2013, 4, 1, 15, 0, 30, 123);
    var a = new DateTimeOffset(dt, TimeSpan.Zero);   // UTC+0の日時を指定
    var b = new DateTimeOffset(dt, new TimeSpan(-5, 0, 0));  // UTC-5(東部標準時)の日時を指定
    var c = new DateTimeOffset(dt, new TimeSpan(+9, 0, 0));  // UTC+9(日本標準時)の日時を指定
    var d = DateTimeOffset.Now;     // ローカル時刻での現在日時を取得
    var e = DateTimeOffset.UtcNow;  // UTCでの現在日時を取得

    foreach (var dto in new[] {a, b, c, d, e}) {
      Console.WriteLine("{0}, {1}", dto.DateTime, dto.Offset);
    }
  }
}
実行結果例
2013/04/01 15:00:30, 00:00:00
2013/04/01 15:00:30, -05:00:00
2013/04/01 15:00:30, 09:00:00
2013/04/01 15:30:05, 09:00:00
2013/04/01 6:30:05, 00:00:00