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的天数
   }

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页