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

上次的周六日时段收费问题没解决,求大神
本帖最后由 bulls5988 于 2013-11-26 19:10:36 编辑
需实现的功能有:员工停车福利。周一到周五,每天7:00~23:00之间免费停车,其他时段每小时2元收费;周六日没有免费时间每小时2元;这个函数只实现了同一天内算免费时段和收费时段收取的费用。如果有中间跨了多天费用就不对了。


private static int staff_times(DateTime dateTime1, DateTime dateTime2,int fee_standard)
//分别为入场时间,离开时间,每小时收多少钱(收费标准)
        {
            int fee = 0;//总收费
            int hours = 0;//总停车时间(小时)
            DateTime dt1 = dateTime1.Date.AddHours(7);//早晨7点
            DateTime dt2 = dateTime2.Date.AddHours(23);//晚间23点
            staff_card weeks = new staff_card();
            string week_nums = weeks.Weeks_time().ToString();//函数返回当前日期是星期几

                if ((dateTime1 > dt1) && (dt2 > dateTime2))//7点之后来23点之前走的车
                {
                    return fee = 0;//在免费时间段内,免费
                }
                else
                {
                    if (dateTime1 < dt1)//7点之后来的车
                    {
                        if (dt2 < dateTime2)//23点之后走的车
                        {
                            TimeSpan ts = dateTime2 - dt2;//离开时间-23点,计算时间小时数
                            hours = (int)ts.TotalHours;
                            if (ts.Minutes < 15)//不满15分钟
                            {
                                hours = 0;//免费