c#不同时间段、不同费率计算费用

这个C#代码实现了一个计算不同时间段费用的函数,考虑了白天和晚上的不同费率。根据输入的还车和接车时间、费率以及特定的白天和晚上时间段,函数能够精确计算出费用。通过处理各种可能的借还车时间组合,确保了费用计算的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/// <summary>
    /// 时间段计费元/时)
    /// </summary>
    /// <param name="huan_time1">还时间</param>
    /// <param name="jie_time1">接时间</param>
    /// <param name="fl_B1">白天费率</param>
    /// <param name="fl_W1">晚上费率</param>
    /// <param name="tt1">白天起点时间</param>
    /// <param name="tt2">晚上起点时间</param>
    public void jifei(string huan_time1,string jie_time1,string fl_B1,string fl_W1,int tt1,int tt2)
    {
        DateTime huan_time = Convert.ToDateTime(Time_1(huan_time1));
        DateTime jie_time = Convert.ToDateTime(Time_1(jie_time1));

        TimeSpan huan_time5 = new TimeSpan(huan_time.Ticks);
        TimeSpan jie_time5 = new TimeSpan(jie_time.Ticks);
        TimeSpan TT = huan_time5.Subtract(jie_time5).Duration();
        int ccc=(int)TT.TotalHours;
        if(ccc ==0)
        {
            huan_time = huan_time.AddHours(1);
        }
        double fl_B = Convert.ToDouble(fl_B1.Substring(1));  //为白天费率
        double fl_W = Convert.ToDouble(fl_W1.Substring(1)); // 为晚费率
        int t = jie_time.Hour;    //借时刻
        int h = huan_time.Hour;   //还时刻
        int hh  = DateDiff_hour(jie_time, huan_time);     //总时间
       
       
        int t1 = tt1; //t1设置白天起点
        int t2 = tt2; //t2设置晚上起点
        int t00 = 0; // 凌晨0点
        int t23 = 24;// 晚上24(0点之前)点
        int hb = 0;   //hb为白时间和
        int hw = 0;   //hw为晚时间和

        if ((hh% 24) !=0)   //借不是整天
        {
            //晚上借出
            if (((t2 <= t) && (t <= t23)) || ((t00 <= t) && (t <= t1)))
            {
                //晚上归还
                if (((t2 <= h) && (h <= t23)) || ((t00 <= h) && (h <= t1)))
                {
                    //还时,在t2于t23时段借出
                    if ((t2 <= t) && (t <= t23))
                    {
                        //t2与t23时段还
                        if ((t2 <= h) && (h <= t23))
                        {
                            //借t大于还h
                            if (t > h)
                            {
                                int hw1 = DateDiff_hour(t, t23);  //借至23点
                                int hw2 = DateDiff_hour(t00, t1); //00至白天起点
                                int hw3 = DateDiff_hour(h, t2);   //晚上起点至还
                              

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值