回答
這是probaly你追求的:
DateTime date = DateTime.Today;
// lastMonday is always the Monday before nextSunday.
// When date is a Sunday, lastMonday will be tomorrow.
int offset = date.DayOfWeek - DayOfWeek.Monday;
DateTime lastMonday = date.AddDays(-offset);
DateTime nextSunday = lastMonday.AddDays(6);
編輯:既然lastMonday
並不總是顧名思義是什麼(見註釋),下面的一行可能是更重要的一點:
DateTime nextSunday = date.AddDays(7 - (int) date.DayOfWeek);
很好的解決方案,比我的清潔。 – light 2010-11-11 22:40:14
這有兩個錯誤,Monday.AddDays上的拼寫錯誤應該是小寫的'm'。同樣星期一從星期一開始,你將增加6天而不是7天。增加七天給你下面的星期一。 – Banford 2011-03-29 10:00:37
這有另一個錯誤。如果今天是星期天,它將在下週一(偏移量= -1)而不是上個星期一返回。如果星期日爲整數,則返回0,星期一將返回1,所以星期日 - 星期一= -1。 添加此行,將修復它: offset =(offset <0)? 6:偏移量; – gijswijs 2014-01-30 13:50:15
這樣的事情,當然你想從在DateTime.MaxValue之前的一些點回路斷線,但這應該做到:
DateTime dt = DateTime.Parse("2010-11-09, Thuesday");
while (dt < DateTime.MaxValue)
{
if(dt.DayOfWeek == DayOfWeek.Sunday || dt.DayOfWeek == DayOfWeek.Monday)
Console.WriteLine(dt.ToString());
dt.AddDays(1);
}
日期時間星期一= DateTime.Now.AddDays ((DateTime.Now.DayOfWeek - 1)* -1).Date;
DateTime Sunday = DateTime.Now.AddDays(7 -DateTime.Now.DayOfWeek).Date;
我認爲這不適用於星期天。你難道不會得到明天和下個星期天不會受到今天(星期日)的限制嗎? (0-1)* - 1 = 1,7-0 = 7。 – 2012-12-20 18:00:54
這是很容易,如果你使用條件方法
if (v_datetime.DayOfWeek== DayOfWeek.Sunday)
{
return true;
}
if (v_datetime.DayOfWeek== DayOfWeek.Monday)
{
}
請更新您的答案,以提供對原始問題的完整答案,而不僅僅是回覆某人的評論。 – Mike 2014-05-26 03:30:16
/// <summary>
/// Returns the day that is the specific day of week of the input day.
/// </summary>
/// <param name="input">The input day.</param>
/// <param name="dayOfWeek">0 is Monday, 6 is Sunday.</param>
/// <returns></returns>
public static DateTime GetDayOfWeekOfSpecific(DateTime input, int dayOfWeek)
{
if(input.DayOfWeek == DayOfWeek.Sunday)
{
dayOfWeek -= 7;
}
// lastMonday is always the Monday before nextSunday.
// When today is a Sunday, lastMonday will be tomorrow.
int offset = input.DayOfWeek - DayOfWeek.Monday;
DateTime lastMonday = input.AddDays(-offset);
DateTime nextDayOfWeek = lastMonday.AddDays(dayOfWeek);
return nextDayOfWeek;
}
- 1. 獲取週一和週日以及去年的週一和週日,同一周
- 2. 獲取本週的週一和週五的日期(PHP)
- 3. 在php中獲取週數的一週中的日數
- 4. java日曆 - 獲取最後5天的一週(沒有周末)
- 5. 獲得了週一和週二的所有日期爲明年
- 6. 獲取本週的週一在PHP 4的日期
- 7. SQL Server - 給定週數,在一週內獲取第一個日期?
- 8. PHP日期時間:獲取日期基於月,周和一週的日期
- 9. SQL Server:獲取一個月的第一週和第二週的日期範圍
- 10. 從DateTime對象計算週一至週日的星期
- 11. 如何獲取「週一至週日」最後3個月的日期在Redshift中?
- 12. 輸出一週中某些列的總和,一年中一週,一週的日期與日期一致
- 13. 獲取當前週日和週日以前的日期
- 14. 從之前選定的一週獲取一週中的第一天
- 15. C#前一週日期
- 16. 選擇生日在本週(週一至週日)的所有用戶
- 17. 獲取一週的工作日和日期
- 18. 獲取本週的每個星期一和過去8周的日期?
- 19. Java - 獲取星期一的一週的日期在那一週給出一個日期
- 20. 想要一個SQL來獲取日期在2日期之間,並排除Oracle中的週六和週日
- 21. SQL - 獲取多個日期天數(排除週六和週日)
- 22. 如何獲得特定一週中特定日期的日期
- 23. 獲取下週的日期(C#)
- 24. 如果輸入是日期和週末日(週日,週一,週三,週三,週四,週五或週四),如何計算週末日期
- 25. 在SQL Server中獲取每週給定的一週數,月份數和年份的日期範圍
- 26. 文件撰寫這行代碼週一至週六和週日
- 27. PHP MySQL 7日,周,週一至週五的日曆分頁?
- 28. 在Excel中找到日期之前的週一或週日
- 29. 如何獲取本週開始的DateTime?
- 30. 週一的日曆開始週數
@Lisa;你的意思是你想要星期二星期一和星期日的日期? – BeemerGuy 2010-11-09 22:30:36
@Beemer:按照星期日開始的那個慣例,這是行不通的。 – 2010-11-09 22:33:12
@Hank;是的,它會的。 OP可能想要檢索星期二開始的星期日。只要我們不知道他們想要什麼,任何邏輯都是可能的。通過海報「light」檢查下面的答案。 – BeemerGuy 2010-11-09 22:35:36