指定されたバイトの倍数(dataSlots)で循環ログにデータを保存していますが、基準日からの経過日数に基づいて週数を計算しています。1年に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
は、なぜ私は、重複週間取得していますし、どのように私はこれを考慮ん重複したエントリを取得する(したがって、私のデータを上書きしますか)?私の推測では、1年に数分の1の週があるということです。
週の決定にはどのような方法がありますか?私はDateTimeの下でそれらを見ることはありません。私は、指定された開始日(固定、システム定義かどうか)からユーザーが指定した終了日までのすべての週の合計を取得する必要があります。 – LamonteCristo
これは、おそらくCalendarクラスに関係しますが、http://stackoverflow.com/questions/1083955/how-to-get-difference-between-two-dates-in-year-month -week-day –