有一个时段价格表:
begintime endtime price
0:00 7:59 100
8:00 20:00 200
20:00 23:59 300如何计算一段时间之间的费用?如
2007-5-24 17:00 ------2007-5-26 21:00
begintime endtime price
0:00 7:59 100
8:00 20:00 200
20:00 23:59 300如何计算一段时间之间的费用?如
2007-5-24 17:00 ------2007-5-26 21:00
Function GetSum(ByVal Date1 As Date, ByVal date2 As Date)
Dim h As Long, s1 As Long, s2 As Long, sum1 As Long, sum2 As Long
h = DateDiff("h", Date1, date2)
sum1 = h \ 24 * (800 + 2400 + 1200)
s1 = Hour(Date1)
s2 = Hour(date2)
If s1 < 8 Then
s1 = (8 - s1) * 100 + 3600
ElseIf s1 < 20 Then
s1 = (20 - s1) * 200 + 1200
Else
s1 = (24 - s1) * 300
End If
If s2 < 8 Then
s2 = (8 - s2) * 100 + 3600
ElseIf s2 < 20 Then
s2 = (20 - s2) * 200 + 1200
Else
s2 = (24 - s2) * 300
End If
sum2 = s1 - s2
If s2 < s1 Then sum2 = sum2 + 4400
GetSum = sum1 + sum2
End Function
function TForm1.getmoney(starttime,endtime:string):double;
var
i:integer;
money:double;
begin
money:=0;
if adotable.locate('begintime',starttime,[]) then
while adotable.fieldbyname('endtime').asstring<>endtime do
begin
money:=money+adotable.fieldbyname('price').asfloat;
adotable.next;
end;
getmoney:=money;
end;
感觉有点像两个小孩儿在炫耀自己一样,谦虚一点吧,你那个的是VB,这个地方是delphi块,我那个前面加个判断同样也能适应任意时间段我说不是VB的???
你要是会早回答!要是不会别说别人的不对,你在我后边说是什么意思??
hys_427() ( ) 信誉:100 Blog 加为好友 2007-5-26 10:14:57 得分: 0
我给你写个求任意时间段费用的函数,一会儿给你贴上去意思很明显,你给一个任意时间段的,我的不行?不行你照我的翻译还没翻译全面。
我这人很不知道谦虚,可是你又想当SB又想LPD好意思说我谦虚点。我又不是照抄你的。