代码
public static int IsStartTask(string s_Task, DateTime LastTime)
{
int Ret = 0;
DateTime ClockOfNow
= DateTime.Now;
int iYear = ClockOfNow.Year;
int iMonth = ClockOfNow.Month;
int iDay = ClockOfNow.Day;
int iDayName = GetDayName(ClockOfNow.DayOfWeek);
int iHour = ClockOfNow.Hour;
int iMinute = ClockOfNow.Minute;
int iSecond = ClockOfNow.Second;

int Year = LastTime.Year;
int Month = LastTime.Month;
int Day = LastTime.Day;
int DayName = GetDayName(LastTime.DayOfWeek);
int Hour = LastTime.Hour;
int Minute = LastTime.Minute;
int Second = LastTime.Second;


string sType, sTime, sValue;
TimeSpan tTime, tNow;
string[] ssValue = new String[10];

tNow
= TimeSpan.Parse(String.Format("{0}:{1}:{2}", iHour, iMinute, iSecond));

bool Flag = false;
int length = 0;
int i = 0;

sType
= s_Task.Split('|')[0];
sTime
= s_Task.Split('|')[1];
sValue
= s_Task.Split('|')[2];
if (sValue.Length > 1)
{
Flag
= true;
length
= (sValue.Length + 1) / 2;
for (i = 0; i < length; i++)
ssValue[i]
= sValue.Split(',')[i];
}
if (sValue.Trim() == "")
sValue
= "0";
tTime
= TimeSpan.Parse(sTime);

bool iFlag = false;

switch (sType)
{
case "day": //按天调度
{

if (iYear == Year && iMonth == Month && iDay == Day)
iFlag
= true;

if (tNow >= tTime && DateTime.Compare(ClockOfNow, LastTime) > 0 && !iFlag)
Ret
= 1;
else
Ret
= 0;
break;
}
case "week": //按周调度
{
if (Flag == false)
{
if (int.Parse(sValue) == iDayName)
{

TimeSpan ts
= ClockOfNow - LastTime;
double db1 = ts.TotalDays;
int intDow = iDayName;
if (intDow == 0)
intDow
= 7;
if (db1 >= 7 || db1 >= intDow)
{
if (tNow >= tTime)
{
Ret
= 1;
}
else
{
Ret
= 0;
}
}
else
{
Ret
= 0;
}

}
else
Ret
= 0;
}
else
{
bool jFlag = false;
for (i = 0; i < length; i++)
if (int.Parse(ssValue[i]) == iDayName)
{
jFlag
= true;
break;
}
if (jFlag == true)
{
TimeSpan ts
= ClockOfNow - LastTime;
double db1 = ts.TotalDays;
int intDow = iDayName;
if (intDow == 0)
intDow
= 7;
if (db1 >= 7 || db1 >= intDow)
{
if (tNow >= tTime)
{
Ret
= 1;
}
else
{
Ret
= 0;
}
}
else
{
Ret
= 0;
}
}
else
{
Ret
= 0;
}

}
break;
}

case "month": //按月调度
{
if (int.Parse(sValue) == iDay)
{
if (iYear == Year && iMonth == Month)
iFlag
= true;
if (tNow >= tTime && !iFlag && DateTime.Compare(ClockOfNow, LastTime) > 0)
Ret
= 1;
else
Ret
= 0;

}
break;
}
default: Ret = 0; break;
}

return Ret;
}

 

2010 暑假--公司实习