.net时间计算

计算定义开始时间至结束时间,中间间隔。

///<summary>
/// 间隔枚举
///</summary>
public enum IntervalEnum : int
{
///<summary>
/// 每天
///</summary>
[Description("每天")]
OneDay=1,
///<summary>
/// 隔一天
///</summary>
[Description("隔一天")]
TwoDay=2,
///<summary>
/// 隔两天
///</summary>
[Description("隔两天")]
ThreeDay=3,
///<summary>
/// 隔三天
///</summary>
[Description("隔三天")]
FourDay=4,
///<summary>
/// 隔4天
///</summary>
[Description("隔4天")]
FiveDay=5,
///<summary>
/// 隔5天
///</summary>
[Description(" 隔5天")]
SixDay=6,
///<summary>
/// 隔6天
///</summary>
[Description("隔6天")]
SevenDay=7,
///<summary>
/// 隔7天
///</summary>
[Description("隔7天")]
EightDay=8,
///<summary>
/// 隔半个月
///</summary>
[Description("隔半个月")]
FifteenDay=15,
///<summary>
/// 隔一个月
///</summary>
[Description("隔一个月")]
ThirtyDay=30,
///<summary>
/// 隔二个月
///</summary>
[Description("隔二个月")]
SixTyDay=60,
///<summary>
/// 隔一个季度
///</summary>
[Description("隔一个季度")]
NineDay=9,
///<summary>
/// 隔半年
///</summary>
[Description("隔半年")]
OnehundredEighty=180

}

 

 public IList<PlanMeasuringDetail> Loop(PlanMeasuringVM VM)
{
if (!VM.BeginTime.HasValue || !VM.EndTime.HasValue || !VM.Interval.HasValue)
{
return null;
}
DateTime beginTime = VM.BeginTime.HasValue ? VM.BeginTime.Value : DateTime.Now;//获取开始时间
DateTime endTime = VM.EndTime.HasValue ? VM.EndTime.Value : DateTime.Now;//结束时间
DateTime time = DateTime.Now;//获得当前日期
int? days = VM.Interval;//获取间隔天数
//string shij = VM.Time.ToString();
int prev = beginTime.DayOfYear;//开始日期是当前年中得第几天
int next = endTime.DayOfYear;//结束日期是当前年中得第几天
Decimal re = Convert.ToDecimal((next - prev) / days);
IList<PlanMeasuringDetail> list = new List<PlanMeasuringDetail>();
//PlanUseOfDrugsDetail puodd = new PlanUseOfDrugsDetail();

for (int i = 1; i <= (int)re; i++)
{
list.Add(new PlanMeasuringDetail()
{
BackInfo = string.Empty,
ExecTime = beginTime.AddDays(Convert.ToDouble(days * i)),
IsExecution = "",
PMID = VM.PMID,
UserId = VM.UserId,
PersonId = VM.PersonId
});
}
return list;
}



posted @ 2011-11-02 08:58  ω♪zone咕咯  阅读(437)  评论(0编辑  收藏  举报