比如说,
给定一个初始日期A,
给定一个中间月份和日期B,
给定一个结束日期C,从这个A一天加一天的过,每当这个A的月份和日期和这个B的月份及日期相等,就加1,直到循环到C,然后计算一共循环了几次,怎么计算.
比如:A=2005-11-01
B= 10-01
C=2008-10-02
从A=2005-11-01开始: 2005-11-01
2005-11-02
2005-11-03
...................
2006-10-01 ----->这里和B的月,日相同,所以循环为1....................
2008-10-01 ----->这里和B的月,日相同,所以循环为2次.
2008-10-02(结束至C)
所以得出一共循环2次.
那么如何计算出它呢?
给定一个初始日期A,
给定一个中间月份和日期B,
给定一个结束日期C,从这个A一天加一天的过,每当这个A的月份和日期和这个B的月份及日期相等,就加1,直到循环到C,然后计算一共循环了几次,怎么计算.
比如:A=2005-11-01
B= 10-01
C=2008-10-02
从A=2005-11-01开始: 2005-11-01
2005-11-02
2005-11-03
...................
2006-10-01 ----->这里和B的月,日相同,所以循环为1....................
2008-10-01 ----->这里和B的月,日相同,所以循环为2次.
2008-10-02(结束至C)
所以得出一共循环2次.
那么如何计算出它呢?
解决方案 »
- webBrowser 调用 Refresh 方法时不会发生 DocumentCompleted 事件?
- web控件 的属性编辑器为什么不管用
- 关于使用keybd_event的问题
- 使用web.config配置的数据库连接,并将页面绑定到DataSet控件的情况下,如何设置自定义DataGrid列
- winform 中 在panel中如何才能逐个添加picturebox,并且每添加一个图片时,要在picturebox中显示,还要使picturebox逐个显示在panel中?
- 请教关于API的使用方式
- 关于sqlserver2005的问题,请各位来捧场,分不多别嫌弃啊
- sapi如何实现中英文混合识别
- 一个简单的存储过程
- 关于datatable输出到水晶报表的问题
- 两个textbox,一个输入数字,一个输出阶乘的结果,button1 click事件怎么写
- 关于windows窗体中的treeview的一个普遍的问题
DateTime C = new DateTime(2008, 10, 02); int i = 1;
DateTime temp = A;
while (C > temp)
{
temp = A.AddDays(i);
if (temp.Month == 10 && temp.Day == 1)
Console.WriteLine(temp);
i++;
}
DateTime C = new DateTime(2008, 10, 02);
int count = 0;
DateTime temp = A;
while(temp<=C)
{
if(temp.Month == "给定月份" && temp.Day=="给定日")
count++;
temp.AddDays(1);
}
DateTime C = new DateTime(2008, 10, 02);
DateTime temp = new DateTime(A.Year, 10, 01); //以上数字可以为变量,不过那时最好用DateTime.TryParse方法来转换if (temp < A)
temp = temp.AddYears(1);int i=0;
while(temp<C)
{
temp = temp.AddYears(1);
i++;
}MessageBox.Show(i.ToString()); //结果为3思路:如果A的年份加B小于A,那么计算起始时间从A年加1开始,否则从A年加B开始,如楼主所给例子,2005-10-01小于A,所以超始日期从2006-10-01算起,然后年份加1,判断是否小于C即可