DateTime Manipulation Utilities
public static class DateTimeExtensions
{
public static bool IsBetween(this DateTime dateTime, DateTime startDate, DateTime endDate)
{
return dateTime >= startDate && dateTime <= endDate;
}
public static DateTime StartOfDay(this DateTime dateTime)
{
return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 0, 0, 0, dateTime.Kind);
}
public static DateTime EndOfDay(this DateTime dateTime)
{
return new DateTime(dateTime.Year, dateTime.Month, dateTime.Day, 23, 59, 59, 999, dateTime.Kind);
}
public static int GetAge(this DateTime birthDate)
{
var today = DateTime.Today;
var age = today.Year - birthDate.Year;
if (birthDate.Date > today.AddYears(-age)) age--;
return age;
}
public static bool IsWeekend(this DateTime dateTime)
{
return dateTime.DayOfWeek == DayOfWeek.Saturday || dateTime.DayOfWeek == DayOfWeek.Sunday;
}
public static DateTime NextBusinessDay(this DateTime dateTime)
{
var nextDay = dateTime.AddDays(1);
while (nextDay.IsWeekend())
{
nextDay = nextDay.AddDays(1);
}
return nextDay;
}
}