C# で現在の時刻だけを知りながら、週の始まり (日曜日と月曜日の両方) を見つけるにはどうすればよいですか?
何かのようなもの:
DateTime.Now.StartWeek(Monday);
ベストアンサー1
拡張メソッドを使用します。
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
int diff = (7 + (dt.DayOfWeek - startOfWeek)) % 7;
return dt.AddDays(-1 * diff).Date;
}
}
以下のように使用できます。
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Monday);
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);