停车场计费算法 php,停车场收费算法,思路卡住了求补完!该如何处理

停车场收费算法,思路卡住了求补完!!

本帖最后由 bulls5988 于 2013-11-22 16:00:03 编辑

一个停车场算法,写了一半不会写了。

需求:员工停车卡。周一到周五,7:00~23:00免费,其余部分每小时收费2元。周六日每小时2元,无免费时间。(需要考虑多天跨天的情况,这里有点不会写了)。求大神帮助补完下代码

09593642.gif

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

{

Total_hour = (int)(ts.Hours);

//未超出15分钟算0小时

}

}

}

else //如果是周六日,没有免费时间

{

TimeSpan ts =  end_time - start_time;

if (ts.Minutes > 15)

{

Total_hour = (int)(ts.Hours) + 1;

//超出15分钟算1小时

}

else

{

Total_hour = (int)(ts.Hours);

//未超出15分钟算0小时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值