特定の日付が含まれる月の最初の日と最後の日を取得したいです。日付は 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);