通过N No of DaysDifference获取当前日期 [英] Getting current date by N No of DaysDifference

查看:60
本文介绍了通过N No of DaysDifference获取当前日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿朋友我遇到问题请帮助我。



我有开始日期和结束日期以及我有NoofDaysDifference可能是1,2, 3,5,7,10,12,15,18,20,25,30。



我必须以(1或2或3或5或7或10之类的明智)NoofDaysDifference月/总持续时间。



当前日期应减少NoofDaysDifference。



我这样做每天都这样做

Hey friends i am facing a problem please help me.

I have Start date and End Date as well as i have NoofDaysDifference which could be 1,2,3,5,7,10,12,15,18,20,25,30.

I have to get current date on the basis No of (1 or 2 or 3 or 5 or 7 or 10 like wise) NoofDaysDifference in month/total duration.

Current Date should be decrement by NoofDaysDifference.

I have done for every one days like this

int NoofDays;

NoofDays = dtEnd.Subtract(dtstart).Days;

while (dtEnd.Date > dtstart.Date && NoofDays >= 0)
{
   DateTime CurrentDate = dtstart.AddDays(NoofDays);
   NoofDays--;
}

推荐答案

您的问题不明确。以下是日期计算的两个示例。这些中的任何一个都接近您的要求吗?如果没有,请使用改善问题并使用真实日期显示一些示例,以说明您要做的事情。





示例1

Your question is not clear. Here are two examples of date computations. Do either of these come close to your requirements? If not, please use Improve Question and show a few examples using real dates that will demonstrate what you are trying to do.


Example 1
StringBuilder strOutput = new StringBuilder(4096);
DateTime dtStart = DateTime.Parse("2013-09-01");
DateTime dtEnd = DateTime.Parse("2013-09-05");
int NoOfDays=3;
DateTime dt;
dt = dtStart.Date;
while (dt <= dtEnd)
{
    strOutput.AppendLine(dt.ToString("yyyy-MM-dd"));
    dt=dt.AddDays(NoOfDays);
}
Console.WriteLine(strOutput);



输出

2013-09 -01

2013-09-04





示例2


Output
2013-09-01
2013-09-04


Example 2

DateTime dtStart = DateTime.Parse("2013-09-01");
DateTime dtEnd = DateTime.Parse("2013-09-05");
int NoOfDays;
DateTime dt;
NoOfDays = dtEnd.Subtract(dtStart).Days;
dt = DateTime.Now.Date.AddDays(-(double)NoOfDays);
Console.WriteLine("Start: " + dtStart.ToString("yyyy-MM-dd") + ", End: " + dtEnd.ToString("yyyy-MM-dd"));
Console.WriteLine("Days Difference: " + NoOfDays );
Console.WriteLine("Now=" + DateTime.Now.Date.ToString("yyyy-MM-dd") + ", Computed Date=" + dt.Date.ToString("yyyy-MM-dd"));





输出

开始时间:2013-09-01,结束日期:2013-09-05

天差:4

现在= 2013-09-06,计算日期= 2013-09-02



注意:时间值包含在DateTime类中存储的值中。您可以在显示DateTime Class值时使用字符串格式以不显示时间部分。



Output
Start: 2013-09-01, End: 2013-09-05
Days Difference: 4
Now=2013-09-06, Computed Date=2013-09-02

Note: A time value is included in the value stored in the DateTime Class. You can use string formatting when displaying a DateTime Class value to not display the time portion.


if(ddlScheduledMedicines.SelectedIndex == 1)

{

daysdifference = 3;

}

else if(ddlScheduledMedicines.SelectedIndex == 2)

{

daysdifference = 5;

}

else if(ddlScheduledMedicines.SelectedIndex == 3)

{

daysdifference = 7;

}



DateTime CurrentDate = dtstart.Date;



而(CurrentDate< dtEnd)

{

CurrentDate = CurrentDate.AddDays( daysdifference);

}
if (ddlScheduledMedicines.SelectedIndex == 1)
{
daysdifference = 3;
}
else if (ddlScheduledMedicines.SelectedIndex == 2)
{
daysdifference = 5;
}
else if (ddlScheduledMedicines.SelectedIndex == 3)
{
daysdifference = 7;
}

DateTime CurrentDate =dtstart.Date;

while (CurrentDate<dtEnd)
{
CurrentDate = CurrentDate.AddDays(daysdifference);
}


这篇关于通过N No of DaysDifference获取当前日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆