我在做一个银行存贷款的小项目,存款分为活期、定期两种方式,活期利率和定期利率客户都要求自定义。取款的时候就需要按照存款的时间长短计算利息了。         活期好说,取款日期-存款日期=天数*日利率=所得利息         因为定期客户要求自定义,我给了客户年月日三个输入框,就有可能定义成N年,N个月或者N年N个月,或者N天。         客户要求:如果超过存款期限取款,比如定期了1年,然后1年2个月取款,那1年按定期利率算利息,2个月按照活期利率算利息。未满1年,全部按照活期利率算利息。      问题:
      1、如何存款日期和取款日期两个datetimepicker计算出年、月、日这种格式?
      2、如何判断利率计算的计算方式?
  

解决方案 »

  1.   

    1.timespan 可以计算。自己搜一下使用方法
    2. 自己加判断来进行利率计算
     
      

  2.   

    //存款日期
    DataTime a=Covert.ToDateTime(string.format(datetimepicker1.Text,"yyyy-MM-dd"));这样取出来的时间 便是日期格式如"2011-05-26"
    //取款日期 假如为 "2012-06-01"
    其实可以在数据库中可以通过datediff函数求出2个日期相差的月份
    或者函数 public static int Calc(DateTime d1, DateTime d2)
     {
      DateTime max = d1 > d2 ? d1 : d2;
      DateTime min = d1 > d2 ? d2 : d1;
      
      int yeardiff = max.Year - min.Year;
      int monthdiff = max.Month - min.Month;
      
      return yeardiff * 12 + monthdiff + 1;
     } 
    如果月份数>12,利息=总金额*(月份数/12)*定期利率+总金额*(月份数-12)*活期利率。
    本人菜鸟新手,抒发自己的意见 不正确可以忽略~~
      

  3.   


    //计算2个日期之间的天数差
    DateTime dt1 = Convert.DateTime("2011-3-8");   
    DateTime dt2 = Convert.DateTime("2012-12-20");  
    TimeSpan span = dt2.Subtract(dt1);             
    int dayDiff = span.Days + 1;