我正在嘗試提取本週的日期,我無法找到一個明智的,聰明的方式,而不是長時間的情況下,開關和if語句。 任何人都知道一個相對簡單的方法來提取使用.Net的人? 謝謝!使用.Net提取本週的日期?
回答
DateTime.DayOfWeek
是一個枚舉,以週日爲0開始並繼續前進。如果你今天是星期幾,它也會告訴我星期天是多少天。因此,假設本週的週日開始於週日,那麼很多日子都會給你。你可以從一週的七天前進。
var today = DateTime.Now;
var thisSunday = today.AddDays(-(int)today.DayOfWeek);
for (int i=0; i<7; i++)
Console.WriteLine(thisSunday.AddDays(i).ToString());
如果本週從週一開始,使用
var thisMonday = today.AddDays(-(((int)today.DayOfWeek + 6) % 7));
嗯有趣..我認爲這個解決方案可能會訣竅..非常感謝好友! –
從給定日期和檢查星期編號兩個方向分支出來可能會更好,這樣您將擁有獨立於文化的代碼。並非所有的文化都是在週日開始的。 –
@ LasseV.Karlsen是的,這就是爲什麼我從星期一開始添加一個數周的原因。如果需要,它也可以很容易地修改爲從所需的工作日開始。 –
你可以使用擴展方法來設置日那一週開始用(credit goes to @Compile This)
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime datetime, DayOfWeek startOfWeek)
{
int difference = datetime.DayOfWeek - startOfWeek;
if (difference >= 0)
return datetime.AddDays(-1 * difference).Date;
difference += 7;
return datetime.AddDays(-1 * difference).Date;
}
}
然後你就可以獲取日期使用與@Sami_Kuhmonen相同的循環提到:
DateTime d = DateTime.Now.StartOfWeek(DayOfWeek.Saturday);
for (int i = 0; i < 7; i++)
Console.WriteLine(d.AddDays(i));
- 1. MySQL:如何使用當前日期獲取「本週的日期」?
- 2. 獲取提前一週的日期
- 3. 使用perl和mysql提取一週的日期格式
- 4. 獲取本週的週一和週五的日期(PHP)
- 5. 在android中獲取本週的日期
- 6. 在javascript中獲取本週的日期
- 7. 在Android中獲取本週的日期
- 8. 獲取本週的日期清單
- 9. 獲取本週的星期一是週一至週日(VBScript)
- 10. 本週星期一日期
- 11. Python中的週期性日期提醒
- 12. 如何獲取本週的開始日期和結束日期?
- 13. UNIX腳本日期提取
- 14. 獲取本週的週一在PHP 4的日期
- 15. 取代上週的日期與本週的
- 16. PHP日期時間:獲取日期基於月,周和一週的日期
- 17. 使用vba獲取當週的星期二的日期?
- 18. JavaScript:獲取週日過去的日期
- 19. 獲取當前週日和週日以前的日期
- 20. 獲取日期到週末
- 21. 獲取日期與周
- 22. 從Python的日期列獲取周開始日期(星期日)
- 23. 顯示日期本週
- 24. 本週顯示日期
- 25. SQL:如何獲取周開始日期和周結束日期
- 26. 在SQL中獲取本週的星期一的完整日期?
- 27. 在Postgres獲取本週的星期一的日期?
- 28. 獲取本週的每個星期一和過去8周的日期?
- 29. 使用R提取推文的日期
- 30. momentjs通過提供周和工作日獲取日期
顯示您嘗試過什麼以及爲什麼要搜索另一個aproach – Fabio
尚未開始,我有一個每天騎自行車的心理形象,並根據「今日」值添加或減少幾天。我只希望有一個更合理的方法 –
嘗試'DateTime.Now.DayOfWeek',然後根據結果計算同一周的其他日期 – Fabio