DayPilot Calendar can be used for overnight shift scheduling.
The Calendar control is able to show up to 24 hours in a single column. You can limit the actual range using DayBeginsHour and DayEndsHour properties. This way you can show shifts that continue over midnight and end on the following day.
Properties:
Example:
DayBeginsHour="16" DayEndsHour="8"
In addition to setting the first and last hour of day, it is possible to define the business hours range using BusinessBeginsHour and BusinessEndsHour.
Properties:
Example:
DayBeginsHour="16" DayEndsHour="8" BusinessBeginsHour="20" BusinessEndsHour="5" HeightSpec="BusinessHours"