我正在將數據保存到具有指定字節倍數(dataSlots)的循環日誌中,並且我正在計算基於從參考日期傳遞的日期的星期數。一年有52.17周。如何計算C#中的當前週數?
DateTime startDate = DateTime.UtcNow;
for (int ii = 0; ii < 900; ii++)
{
currentDate = startDate + new TimeSpan(7 * ii, 1, 1, 1, 1)
DateTime globalStartReference = new DateTime(2011, 12, 1, 0, 0, 0, DateTimeKind.Utc);
var span = currentDate - globalStartReference ;
int dataSlot = 0;
dataSlot = (span.Days * 7)/52;
Console.WriteLine(dataSlot);
}
我希望dataSlot將基於當前的一週越來越多,但事實並非如此。我得到重複的條目(並因此覆蓋我的數據),這些周
11
28
44
60
77
88
109
爲什麼會出現重複的星期,我怎麼解釋呢?我的猜測是,一年中有幾個星期...
有什麼方法可以確定一年的哪一週?我在DateTime下看不到它們。我需要從一個給定的開始日期(固定的,系統定義或沒有)到所有用戶提供的結束日期的總和。 – LamonteCristo
那麼,它可能會涉及日曆類...但你也檢查出http://stackoverflow.com/questions/1083955/how-to-get-difference-between-two-dates-in-year-month - 週日 –