C#中计算两个日期间隔的天数

 

// strIssueDate是一个参数,代表起始日期

// strMaturityDate是一个参数,代表结束日期

if (strIssueDate != ""   &&  strMaturityDate != "" )
   
{   
    
string []strStartDate=new string[]{""};
    
string []strEndDate=new string[]{""};
    
//将日期分割成数组
    int placeIssueDate=strIssueDate.IndexOf("-",0,strIssueDate.Length);           //判断日期中是否有'-'号
    int placeMaturityDate=strMaturityDate.IndexOf("-",0,strMaturityDate.Length);  //判断日期中是否有'-'号
    if(placeIssueDate==0)
    
{
     strStartDate
=new string[]{strIssueDate.Substring(0,4),strIssueDate.Substring(4,2),strIssueDate.Substring(6,2)};
           
    }

    
else
    
{
     strStartDate
=strIssueDate.Split('-'); 
    }

    
if(placeMaturityDate==0)
    
{
     strEndDate
=new string[]{strMaturityDate.Substring(0,4),strMaturityDate.Substring(4,2),strMaturityDate.Substring(6,2)};
    }

    
else
    
{
     strEndDate
=strMaturityDate.Split('-'); 
    }

                
    TimeSpan tsIssueDays
=new TimeSpan();   //实例化一个TimeSpan
   
//把分隔成数组的日期传进DateTime中,组成的日期格式如:1/2/2001
    DateTime dtIssueDate=new DateTime(int.Parse(strStartDate[0]),int.Parse(strStartDate[1]),int.Parse(strStartDate[2])); 
    DateTime dtMaturityDate
=new DateTime(int.Parse(strEndDate[0]),int.Parse(strEndDate[1]),int.Parse(strEndDate[2])); 

    tsIssueDays
=dtMaturityDate-dtIssueDate;  //两个日期相减得到一个DateTime的实例tsIssueDays
                 
    retValue
=tsIssueDays.Days + 1;   //获得DataTime的天数
   }

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值