Я сохраняю данные в циклическом журнале с обозначенными кратными байтами (dataSlots), и я рассчитываю номер недели, основываясь на днях, которые проходят от контрольной даты.
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
Почему я получаю дубликаты недель и как мне это учитывать? Я предполагаю, что в году есть дробное число недель ...