Har ett litet problem. Sparar bokningar av objekt i en sql server. Ett objekt kan bokas av flera användare, varje dag mellan 07:00 -20:00. I DB:n har jag startdatumtid (datetime) och slutdatumtid (datetime) så sker en bokning registreras då tex: Här är en tråd där jag hjälpt till med samma typ av tidsproblem. Du kan kolla där först och se om du förstår min lösning så att du kan modifiera den till din situation:Hjälp med mattematik, tid och datum
objektid 1 startdatumtid 2005-01-27 10:55 slutdatumtid 2005-01-27 11:25
I min applikation kommer de bokningsbara objekten visas och hur mycket tid av den totala som är bokad varje dag (mån - fre) veckovis. Presentationen sker iform av staplar som blir större ju mer ett objekt är bokad:
Exempel:
Objekt X är bokad måndag 08:00 - 09:00 av användare A samt 10:30 - 12:00 av B
Detta ger: (1h + 1,5h)
Stapelns stolek blir då:(1h + 1,5h) / totala antalet timar den får bokas (13h) = 19 % av 100
där stapeln blir 19 pixlar lång av totalt 100.
Så här blir det då för alla objekten alla dagar. Dessutom kan man välja tex en vecka i framtiden och få fram resultatet.
Men hur blir detta rent programtekniskt när jag har startdatumtid (datetime) och slutdatumtid (datetime) i DB:n? Jag tänker att jag måste tillämpa DATEDIFF i .NET på något sätt för att få ut antalet minuter mellan start och slutdatum för den aktulla bokningen av objektet, lägga ihop den med alla bokningar under den dagen (just för det objektet) och sedan slå ihop och dividera med totala tillgängliga bokningstiden?
Som sagt, en nöt för mig men kanske en enkel sak för er? Har ni förslag så skriv.
MVH/ErikSv: Hjälp med mattematik, tid och datum
[Räkna ut tid mellan två datum med hänsyn till arbetsdag]