指定された DateTime オブジェクトを使用して、月の最初の日と最後の日を取得する 質問する

指定された DateTime オブジェクトを使用して、月の最初の日と最後の日を取得する 質問する

特定の日付が含まれる月の最初の日と最後の日を取得したいです。日付は UI フィールドの値から取得されます。

タイムピッカーを使う場合はこう言うことができます

var maxDay = dtpAttendance.MaxDate.Day;

しかし、私は DateTime オブジェクトからそれを取得しようとしています。つまり、これがあれば...

DateTime dt = DateTime.today;

月の初日と最終日を取得するにはどうすればいいですかdt?

ベストアンサー1

DateTime構造体は、値の範囲ではなく、1 つの値のみを格納します。MinValueおよび はMaxValue静的フィールドであり、DateTime構造体のインスタンスの可能な値の範囲を保持します。これらのフィールドは静的であり、 の特定のインスタンスとは関係ありません。これらは型自体DateTimeに関係します。DateTime

おすすめの読み物:static (C# リファレンス)

更新: 月の範囲を取得:

DateTime date = ...
var firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1);

更新: コメントより (@KarlGjertsen および @SergeyBerezovskiy)

DateTime date = ...
var firstDayOfMonth = new DateTime(date.Year, date.Month, 1);
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddSeconds(-1);
//OR
var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddTicks(-1);

おすすめ記事