日期:2014-05-17  浏览次数:21188 次

停车场收费算法,思路卡住了求补完!!
本帖最后由 bulls5988 于 2013-11-22 16:00:03 编辑
一个停车场算法,写了一半不会写了。
需求:员工停车卡。周一到周五,7:00~23:00免费,其余部分每小时收费2元。周六日每小时2元,无免费时间。(需要考虑多天跨天的情况,这里有点不会写了)。求大神帮助补完下代码 

        public int staff_times(DateTime start_time, DateTime end_time)//开始停车时间,
停车结束时间 
        {
            int fee = 0;//总收费数
            int day = 0;//一共间隔了几天
            DateTime dt1 = start_time.Date.AddHours(7);//取得入场时间当日7点
            DateTime dt2 = start_time.Date.AddHours(23).AddMinutes(1);//取得入场时间当日23点
            staff_card staff_week = new staff_card();
            string today_week = staff_week.Weeks_time().ToString();//返回数据库时间为周几
            int Total_hour = 0;//总停车收费小时数

            if (today_week != "周六" && today_week != "周日")//如果不是周六日
            {
                if (start_time >= dt1 && end_time <= dt2)//如果在免费时段内
                {
                    Total_hour = 0;//收费小时为0
                }
                else
                {
                    //如果在免费时段外
                    TimeSpan ts = (dt1 - start_time) + (end_time - dt2);
                    if (ts.Minutes > 15)
                    {
                        Total_hour = (int)(ts.Hours) + 1;
                        //超出15分钟算1小时
                    }
                    else
                    {
          &nbs