​如何使用C#编程语言,计算某开始日期和结束日期,当月有效天数?

会织网的蚂蚁 2019-12-11 08:59:34
​如何使用C#编程语言,计算某开始日期和结束日期,当月有效天数?
例:开始日期:2019-11-12,结束日期:2019-12-25,怎么计算12月份有效天数?
...全文
172 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
会织网的蚂蚁 2019-12-13
  • 打赏
  • 举报
回复
引用 8 楼 by_封爱 的回复:
审查代码 start!=start...
不好意思,请原谅。
by_封爱 版主 2019-12-13
  • 打赏
  • 举报
回复
审查代码 start!=start...
会织网的蚂蚁 2019-12-12
  • 打赏
  • 举报
回复
引用 5 楼 by_封爱 的回复:
伪代码 差不多这个意思

var list=new list<datetime>();
var start=datetime.parse("");
var end=datetime.parse("");
while(start.tostring("yyyy-MM-dd")!=end.tostring("yyyy-MM-dd"))
{
 start.adddays(1);
 list.add(start);
}
var 有效天=list.count(d=>d.tostring("yyyy-MM")=="2019-12");
是否有问题?
公西雒 2019-12-11
  • 打赏
  • 举报
回复
我理解错了
by_封爱 版主 2019-12-11
  • 打赏
  • 举报
回复
伪代码 差不多这个意思

var list=new list<datetime>();
var start=datetime.parse("");
var end=datetime.parse("");
while(start.tostring("yyyy-MM-dd")!=end.tostring("yyyy-MM-dd"))
{
 start.adddays(1);
 list.add(start);
}
var 有效天=list.count(d=>d.tostring("yyyy-MM")=="2019-12");
Bridge_go 2019-12-11
  • 打赏
  • 举报
回复

DateTime dtStart = DateTime.Parse("2019-11-12");
DateTime dtEnd = DateTime.Parse("2019-12-25");
List<DateTime> listDt = new List<DateTime>();
int days = (dtEnd - dtStart).Days;
for (int i = 0; i <= days; i++)
{
    listDt.Add(dtStart.AddDays(i));
}
int count = listDt.Count(d => d.Month == 12);
公西雒 2019-12-11
  • 打赏
  • 举报
回复
这是逻辑问题啊!无关C#。 1.先判断开始日期和结束日期是否都在有效范围内,如果为是,则结束日期减去开始日期的天数差再加1就是有效日期; 2.如果为否,再判断开始日期是否在有效范围内,如果为是,则有效的结束日期减去开始日期的天数差再加1就是有效日期; 3.如果为否,再判断结束日期是否在有效范围内,如果为是,则结束日期减去有效的开始日期的天数差再加1就是有效日期; 4.如果为否,再判断开始日期是否小于有效结束日期并且结束日期是否大于有效结束日期,如果为是,则有效的结束日期减去有效的开始日期的天数差再加1就是有效日期; 5.如果为否,则有效日期为0。
会织网的蚂蚁 2019-12-11
  • 打赏
  • 举报
回复
引用 1 楼 Bridge_go 的回复:
什么意思,按照你的例子应该是什么结果
有效日期为2019-12-1至2019-12-25日,这样计算?有效日期为25天。如果日期为2019-11-12至2019-11-30,有效日期为0天,怎么用C#语言描述呢?
Bridge_go 2019-12-11
  • 打赏
  • 举报
回复
什么意思,按照你的例子应该是什么结果

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧