v1.2..1
Add DateTimeRange class and enhance DateTime functionality
This commit introduces a new DateTimeRange class to represent a range between two DateTime objects. It includes methods for calculating the span, checking if a date is contained within the range, and checking if two ranges overlap. A builder pattern is provided for convenient instantiation.
The DateTime class has been enhanced with:
daysInMonthproperty: Stores the number of days in the month of theDateTimeinstance.firstDayOfMonth()method: Returns a newDateTimerepresenting the first day of the current month.lastDayOfMonth()method: Returns a newDateTimerepresenting the last day of the current month.