110,534
社区成员
发帖
与我相关
我的任务
分享
//判断跨年
string BegYear = BegDate.Year.ToString();
string EndYear = EndDate.Year.ToString();
if(EndYear > BegYear)
{
//do something
}
//判断跨月
string BegMonth = BegDate.Month.ToString();
string EndMonth = EndDate.Month.ToString();
if(EndMonth > BegMonth)
{
//do something
}
//判断跨时
string BegHour =BegDate.Hour.ToString();
string EndHour =EndDate.Hour.ToString();
if(BegHour > EndHour )
{
//do something
}
//判断跨分
string BegMinute =BegDate.Minute.ToString();
string EndMinute =EndDate.Minute.ToString();
if(BegMinute > EndMinute )
{
//do something
}
//判断跨年
string BegYear = BegDate.Year.ToString();
string EndYear = EndDate.Year.ToString();
if(EndYear > BegYear)
{
//do something
}
//判断跨月
string BegMonth = BegDate.Month.ToString();
string EndMonth = EndDate.Month.ToString();
if(EndMonth > BegMonth)
{
//do something
}
//判断跨时
string BegHour =BegDate.Hour.ToString();
string EndHour =EndDate.Hour.ToString();
if(BegHour > EndHour )
{
//do something
}
//判断跨分
string BegMinute =BegDate.Minute.ToString();
string EndMinute =EndDate.Minute.ToString();
if(BegMinute > EndMinute )
{
//do something
}
public List<DateTimeCombine> GetMinuteModelList(DateTime dtStart, DateTime dtEnd)
{
DateTime dtFrontStart = dtStart;
DateTime dtFrontEnd = dtStart;
DateTime dtBackStart = dtEnd;
DateTime dtBackEnd = dtEnd;
//TimeSpan ts = new TimeSpan(dtEnd.Ticks - dtStart.Ticks);
int stMinuteStart = 60 - dtFrontStart.Minute;
if (stMinuteStart == 60)
{
dtFrontStart = dtFrontStart.AddSeconds(1);
dtFrontEnd = dtFrontStart;
}
else
{
dtFrontEnd = dtFrontEnd.AddMinutes(stMinuteStart);
if (dtFrontEnd > dtEnd)
dtFrontEnd = dtEnd;
}
DateTimeCombine dtCombinFront = new DateTimeCombine
{
dtStartTime = dtFrontStart,
dtEndTime = dtFrontEnd
};
int stMinuteEnd = dtBackEnd.Minute - 0;
if (stMinuteEnd == 0)
{
dtBackEnd = dtBackStart.AddSeconds(-1);
dtBackStart = dtBackEnd;
}
else
{
stMinuteEnd = 0 - stMinuteEnd;
dtBackStart = dtBackStart.AddMinutes(stMinuteEnd);
if (dtBackStart < dtStart)
dtBackStart = dtStart;
}
DateTimeCombine dtCombinBack = new DateTimeCombine
{
dtStartTime = dtBackStart,
dtEndTime = dtBackEnd
};
List<DateTimeCombine> data = new List<DateTimeCombine>();
data.Add(dtCombinFront);
data.Add(dtCombinBack);
return data;
}
public List<DateTimeCombine> GetHourModelList(DateTime dtStart, DateTime dtEnd)
{
DateTime dtFrontStart = dtStart;
DateTime dtFrontEnd = dtStart;
DateTime dtBackStart = dtEnd;
DateTime dtBackEnd = dtEnd;
int stHourStart = 24 - dtFrontStart.Hour;
if(dtStart.Year == dtEnd.Year && dtStart.Month == dtEnd.Month && dtStart.Day == dtEnd.Day)
{
if(dtStart.Hour == dtEnd.Hour)
{
dtFrontStart = new DateTime(dtStart.Year, dtStart.Month, dtStart.Day, dtStart.Hour, 1, 0);
dtFrontEnd = dtFrontStart;
}
else
{
dtFrontEnd = new DateTime(dtStart.Year, dtStart.Month, dtStart.Day, dtStart.Hour, 0, 0);
}
}
else
{
dtFrontEnd = dtFrontEnd.AddHours(stHourStart);
dtFrontEnd = new DateTime(dtFrontEnd.Year, dtFrontEnd.Month, dtFrontEnd.Day, dtFrontEnd.Hour, 0, 0);
}
DateTimeCombine dtCombinFront = new DateTimeCombine
{
dtStartTime = dtFrontStart,
dtEndTime = dtFrontEnd
};
int stHourEnd = dtBackEnd.Hour - 0;
if (dtStart.Year == dtEnd.Year && dtStart.Month == dtEnd.Month && dtStart.Day == dtEnd.Day)
{
if (dtStart.Hour == dtEnd.Hour)
{
dtBackStart = new DateTime(dtEnd.Year, dtEnd.Month, dtEnd.Day, dtEnd.Hour, 1, 0);
dtBackEnd = dtBackStart;
}
else
{
dtBackEnd = new DateTime(dtStart.Year, dtStart.Month, dtStart.Day, dtStart.Hour, 0, 0);
}
}
else
{
stHourEnd = 0 - stHourEnd;
dtBackStart = dtBackStart.AddHours(stHourEnd);
dtBackStart = new DateTime(dtBackStart.Year, dtBackStart.Month, dtBackStart.Day, dtBackStart.Hour, 0, 0);
if (dtBackStart < dtStart)
dtBackStart = dtStart;
}
DateTimeCombine dtCombinBack = new DateTimeCombine
{
dtStartTime = dtBackStart,
dtEndTime = dtBackEnd
};
List<DateTimeCombine> data = new List<DateTimeCombine>();
data.Add(dtCombinFront);
data.Add(dtCombinBack);
return data;
}