我有一個CSV文件,我導入到VehicleMovement
表。每個記錄都是車輛出口或停車場入口,並且在着火時跳過鐵環後,我已將這些記錄合併到一個VehiclePresence
表中,其中幾乎每個記錄都具有StartDateTime
和EndDateTime
。現在我必須計算車輛出現時的停車費用。當存在超過一天時,這是一個問題。停車價格基於一天中的時間,一週中的一天等,因此我需要將這種存在分爲單日存在並計算每日存在的費用。如何將兩個日期時間之間的天數分成幾天?
E.g.我的轉換時間爲06h00,並且有VehiclePresence
記錄,其中StartDateTime
== 2013-04-22 20:37:28和EndDateTime
== 2013-04-25 22:55:20。我想變出以下VehiclePresenses
:
1. 04/22 20h37 to 04/23 06h00.
2. 04/23 06h00 to 04/24 06h00.
3. 04/24 06h00 to 04/25 22h55.
這將讓我有一個原來VehiclePresence
紀錄修改開始和結束時間,以及兩個新的記錄,我會插入。這沒有問題。
我該怎麼做?我個人只需在24小時內收取一筆鉅額費用,但我簡要介紹了各種定價規則。
那麼,你嘗試過這麼遠嗎?在我看來,你需要的第一件事就是用來表示一個from/to對的類型......而且我懷疑用迭代器塊會很容易實現這一點。您可能還想看看我的[Noda Time](http://noda-time.googlecode.com)庫,以獲得比BCL提供的更令人愉快的日期/時間類型。 – 2013-04-23 17:13:36
@JonSkeet我沒有嘗試太多,這個項目一直是一個大腦的緊張,我應該在早上解決這個問題。儘管我現在想嘗試。我到目前爲止添加了我的代碼,並會考慮Noda,謝謝。 – ProfK 2013-04-23 17:17:58
我假設你的意思是你會在例子中得到四個時間跨度?否則,最後一個將超過24小時。 – Guffa 2013-04-23 17:22:14