機房收費系統之細化篇(跨日期下機,MDI窗體的運用,MDI主窗體與子窗體的互動)
阿新 • • 發佈:2018-11-08
最近在細化機房收費系統時,發現在下機窗體出現了很多消費時間為負值的情況,有時還會彈出Bug,仔細一看原來是跨日期的消費時間問題,那麼如何設定跨日期的下機呢?在機房收費系統中的MDI 窗體如何運用呢?下面就這兩個問題進行梳理分享。
一、跨日期的下機
核心程式碼如下:
'判斷是否跨日期下機 diffday = DateDiff("d", txtondate.Text, txtoffdate.Text) '判斷是否跨日期=下機日期減去上機日期 If diffday = 0 Then '如果沒有跨日期 timediff = DateDiff("n", txtontime.Text, txtofftime.Text) '計算上下機時間差 ElseIf diffday = 1 Then '如果跨一天 lasttime = DateDiff("n", txtontime.Text, i) '計算昨天的上機時間:23:59:59-昨天的上機時間 todaytime = DateDiff("n", 0, txtofftime.Text) '計算今天的上機時間即今天的時間 timediff = lasttime + todaytime '跨日期上機時間=昨天上機時間+今天上機時間 ElseIf diffday > 1 Then lasttime = DateDiff("n", txtontime.Text, i) todaytime = DateDiff("n", 0, txtofftime.Text) lastday = (diffday - 1) * 1440 '跨日期大於一天的則在上一步的基礎上加上一天的分鐘數1440分鐘 timediff = lasttime + todaytime + lastday '跨多日期上機時間=隔天上機時間+整天的上機時間+今天上機時間 End If
可能我的邏輯有些囉嗦,還望親們多多指教^_^