方便获取现场使用的周序号,用于特定要求;
/// <summary>
/// 获取日期为
/// </summary>
/// <param name="date">具体日期</param>
/// <param name="pdDayOfWeek">设置周的开始日</param>
/// <returns></returns>
private int GetDataWeekIndex(DateTime date, DayOfWeek pdDayOfWeek = DayOfWeek.Sunday)
{
int iIndex = 0;
DateTime FirsDayOfYear = new DateTime(date.Year, 1, 1);
DayOfWeek dayOfWeek = FirsDayOfYear.DayOfWeek;//确认1月1号是周几;
//确认第一周的时间长度(多少天为第一周的时间段)
int OffsetVal = 7- (int)pdDayOfWeek;
int WeekDays =0;
switch (pdDayOfWeek)
{
case DayOfWeek.Sunday:
OffsetVal = WeekDays + 0;
break;
case DayOfWeek.Monday:
OffsetVal = WeekDays + 1;
break;
case DayOfWeek.Tuesday:
OffsetVal = WeekDays + 2;
break;
case DayOfWeek.Wednesday:
OffsetVal = WeekDays + 3;
break;
case DayOfWeek.Thursday:
OffsetVal = WeekDays + 4;
break;
case DayOfWeek.Friday:
OffsetVal = WeekDays + 5;
break;
case DayOfWeek.Saturday:
OffsetVal = WeekDays + 6;
break;
default:
OffsetVal = 0;
break;
}
//以周日为一周开始,1.1号 确认为 周一 到周日 的一周时间长度
int FirstWeekLenth = 0;
int iNewDayOfWeek = (int)(FirsDayOfYear.DayOfWeek - OffsetVal);
if (iNewDayOfWeek<0)//7进制
{
iNewDayOfWeek = 7 + iNewDayOfWeek;
}
switch ((DayOfWeek)iNewDayOfWeek)
{
case DayOfWeek.Sunday:
FirstWeekLenth = 7;
break;
case DayOfWeek.Monday:
FirstWeekLenth = 6;
break;
case DayOfWeek.Tuesday:
FirstWeekLenth = 5;
break;
case DayOfWeek.Wednesday:
FirstWeekLenth = 4;
break;
case DayOfWeek.Thursday:
FirstWeekLenth = 3;
break;
case DayOfWeek.Friday:
FirstWeekLenth = 2;
break;
case DayOfWeek.Saturday:
FirstWeekLenth = 1;
break;
default:
FirstWeekLenth = 7;
break;
}
if (date.DayOfYear<= FirstWeekLenth)
{
iIndex = 1;
}
else
{
if (date.DayOfYear<=FirstWeekLenth+7 )
{
iIndex = 2;
}
else
{
int ResultVal = 0;
int TempDiv = Math.DivRem(date.DayOfYear - FirstWeekLenth, 7, out ResultVal);
if (ResultVal>0)
{
iIndex = TempDiv + 2;
}
else
{
iIndex = TempDiv + 1;
}
}
}
return iIndex;
}