Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I calculate how many nights are there in a date range?

Tags:

date

c#

I need to calculate the quantity of nights (stay at a hotel) from the checkin and checkout dates.

What is the best way to do it?

ie: If I have

Checkin:  12/11/2009 15:00 hs  
Checkout:  14/11/2009 12:00 hs

Doing (Checkout - Checkin).Days would give me 1 night instead of 2

I'm thinking of adding a simple if to check the hours (if checkin-time is greater than checkout-time) and add the missing night, but maybe there's a better "algorithm"

like image 263
juan Avatar asked Nov 06 '09 14:11

juan


1 Answers

DateTime has a property that returns the Date part which is the DateTime in midnight. You can use this part to get the nights since all parts of day will be mapped to the same time at day:

(Checkout.Date - Checkin.Date).Days
like image 71
Elisha Avatar answered Sep 27 '22 00:09

Elisha