[英]C# Datetime problem
我需要未來一周的第一個星期一嗎?
如何制作C#?
現在日期09.jan.2009
我需要2009年6月15日星期一
如果要在特定日期后的第一個星期一開始,請執行以下操作:
DateTime GetFirstMondaySince(DateTime afterWhen)
{
int dayOfWeek = (int)someDate.DayOfWeek;
int wantedDay = (int)DayOfWeek.Monday;
return afterWhen.AddDays((wantedDay-dayOfWeek+7)%7);
}
對於一年中的第一個星期一,請使用GetFirstMonday(DateTime(2009,1,1))
等等..
注意:未經測試的代碼。 使用前請先了解並仔細測試。
下周的第一個星期一: GetFirstMondaySince(DateTime.Now + TimeSpan.FromDays(2));
那也應該工作
DateTime monday = DateTime.Now.AddDays(-(int)DateTime.Now.DayOfWeek + 1).AddDays(7).Date
public DateTime GetNextMonday()
{
DateTime dt = DateTime.Today;
if dt.DayOfWeek == DayOfWeek.Monday
{
dt.AddDays(7);
}
else
{
while (dt.DayOfWeek != DayOfWeek.Monday)
{
dt = dt.AddDays(1);
}
}
return dt;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.