IsDaylightSavingTimeメソッドを使うと、DateTimeの表す日時が夏時間の期間内かどうかを調べることができます。 このメソッドでは、実行環境に設定されているタイムゾーンに夏時間が導入されていなければ、当然どのような日付に対してもfalseを返します。 なお、実行環境のタイムゾーンに関する情報は、TimeZoneクラスおよびTimeZoneInfoクラスで参照することが出来ます。

DateTime.IsDaylightSavingTimeメソッドを使ってDateTimeの表す日時が夏時間かどうかを調べる
using System;

class Sample {
  static void Main()
  {
    // 標準時間・夏時間のタイムゾーン名を表示
    Console.WriteLine("StandardName: {0}", TimeZone.CurrentTimeZone.StandardName);
    Console.WriteLine("DaylightName: {0}", TimeZone.CurrentTimeZone.DaylightName);

    // 冬期・夏期の日付に対してIsDaylightSavingTimeメソッドを呼び出して夏時間かどうか調べる
    var winter = new DateTime(2013, 1, 1);
    var summer = new DateTime(2013, 7, 1);

    Console.WriteLine("{0} {1}", winter, winter.IsDaylightSavingTime());
    Console.WriteLine("{0} {1}", summer, summer.IsDaylightSavingTime());
  }
}
Windows 10+.NET Framework 4.8・タイムゾーンが「大阪、札幌、東京」での実行結果例
StandardName: 東京 (標準時)
DaylightName: 東京 (夏時間)
2013/01/01 0:00:00 False
2013/07/01 0:00:00 False
Ubuntu 18.04+.NET Core 2.1・環境変数TZ=America/Los_Angelesでの実行結果例
StandardName: アメリカ太平洋標準時
DaylightName: アメリカ太平洋夏時間
2013/01/01 0:00:00 False
2013/07/01 0:00:00 True
Ubuntu 18.04+Mono 6.0・環境変数TZ=Asia/Tokyoでの実行結果例
StandardName: JST
DaylightName: JDT
2013/01/01 0:00:00 False
2013/07/01 0:00:00 False
Ubuntu 18.04+Mono 6.0・環境変数TZ=America/Los_Angelesでの実行結果例
StandardName: PST
DaylightName: PDT
2013/01/01 0:00:00 False
2013/07/01 0:00:00 True

実行環境に設定されているものとは異なるタイムゾーンにおける日時が夏時間の期間内かどうかを調べるには、TimeZoneInfo.IsDaylightSavingTimeメソッドを使います。