
## ICalendar class

Represents a calendar abstraction which can be used for various calculations of dates and durations.

## Methods

| Name | Description |
| --- | --- |
| [GetFinishDateByStartAndWork (2 overloads)](./getfinishdatebystartandwork/) | Calculates the date when the specified amount of work time will pass according to the calendar. |
| [GetNextWorkingDayStart](./getnextworkingdaystart/) | Calculates next working day start for the specified date. |
| [GetPreviousWorkingDayEnd](./getpreviousworkingdayend/) | Calculates the end of the previous working date from the specified date. |
| [GetStartDateFromFinishAndDuration (2 overloads)](./getstartdatefromfinishandduration/) | Returns start date based on the specified finish date and duration. |
| [GetTaskFinishDateFromDuration](./gettaskfinishdatefromduration/) | Calculates the task finish date and time from its start date, split parts and the work duration. |
| [GetWorkingHours (2 overloads)](./getworkinghours/) | Returns the amount of working hours at the specified date. |
| [GetWorkingHoursTimeSpan](./getworkinghourstimespan/) | Returns amount of working hours between the specified dates. |
| [GetWorkingTimes](./getworkingtimes/) | Returns WorkingTimeCollection of working times for the specified date. |
| [GetWorkStart](./getworkstart/) | Calculates next working time start beginning from the specified date and time. |
| [IsDayWorking](./isdayworking/) | Determines whether the specified day is a working day according to the calendar. |
| [IsEmpty](./isempty/) | Returns whether the calendar doesn't have working hours defined. |

