我正在嘗試編寫一個方法,該方法將返回一個表示週一至週日的DateTimes列表。它應該採取給它的日期時間,並用它來計算周邊日期從DateTime對象計算週一至週日的星期
它計算開始日期確定,但問題開始時,它擊中最後一個循環。每次運行DateTime變量時,tmpDate應該增加1天,然後添加到列表中。然而,就目前而言,我收到一份包含7個開始日期的列表。
任何人都可以看到我要去哪裏錯了(我有我覺得我可能會看起來像一個簡單的一點:))?
此外,如果這是一個經常被問到的問題,請道歉。可以看到大量的開始日期/結束日期和星期數類型問題,但沒有具體處理這類問題。
private List<DateTime> getWeek(DateTime enteredDate)
{
/* Create List to hold the dates */
List<DateTime> week = new List<DateTime>();
int enteredDatePosition = (int)enteredDate.DayOfWeek;
/* Determine first day of the week */
int difference = 0;
for (int i = 0; i < 7; i++)
{
difference++;
if (i == enteredDatePosition)
{
break;
}
}
// 2 subtracted from difference so first and enteredDatePostion elements will not be counted.
difference -= 2;
DateTime startDate = enteredDate.Subtract(new TimeSpan(difference, 0, 0, 0));
week.Add(startDate);
/* Loop through length of a week, incrementing date & adding to list with each iteration */
DateTime tmpDate = startDate;
for (int i = 1; i < 7; i++)
{
tmpDate.Add(new TimeSpan(1, 0, 0, 0));
week.Add(tmpDate);
}
return week;
}
如果你的代碼應該在不同的文化工作,你可以使用'日期時間CURRENTDAY =新的日期時間(enteredDate.Year,enteredDate.Month,enteredDate.Day); (currentDay.DayOfWeek!= DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek){currentDay = currentDay.AddDays(-1); }'找到一週的開始日期。 – Jani