mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-04-20 21:54:58 -04:00
e9c82078da
Closes #7989
55 lines
1.7 KiB
C#
55 lines
1.7 KiB
C#
using System;
|
|
|
|
namespace NzbDrone.Common.Extensions
|
|
{
|
|
public static class DateTimeExtensions
|
|
{
|
|
public static readonly DateTime EpochTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|
|
|
public static bool InNextDays(this DateTime dateTime, int days)
|
|
{
|
|
return InNext(dateTime, new TimeSpan(days, 0, 0, 0));
|
|
}
|
|
|
|
public static bool InLastDays(this DateTime dateTime, int days)
|
|
{
|
|
return InLast(dateTime, new TimeSpan(days, 0, 0, 0));
|
|
}
|
|
|
|
public static bool InNext(this DateTime dateTime, TimeSpan timeSpan)
|
|
{
|
|
return dateTime >= DateTime.UtcNow && dateTime <= DateTime.UtcNow.Add(timeSpan);
|
|
}
|
|
|
|
public static bool InLast(this DateTime dateTime, TimeSpan timeSpan)
|
|
{
|
|
return dateTime >= DateTime.UtcNow.Add(-timeSpan) && dateTime <= DateTime.UtcNow;
|
|
}
|
|
|
|
public static bool Before(this DateTime dateTime, DateTime beforeDateTime)
|
|
{
|
|
return dateTime <= beforeDateTime;
|
|
}
|
|
|
|
public static bool After(this DateTime dateTime, DateTime afterDateTime)
|
|
{
|
|
return dateTime >= afterDateTime;
|
|
}
|
|
|
|
public static bool Between(this DateTime dateTime, DateTime afterDateTime, DateTime beforeDateTime)
|
|
{
|
|
return dateTime >= afterDateTime && dateTime <= beforeDateTime;
|
|
}
|
|
|
|
public static DateTime WithoutTicks(this DateTime dateTime)
|
|
{
|
|
return dateTime.AddTicks(-(dateTime.Ticks % TimeSpan.TicksPerSecond));
|
|
}
|
|
|
|
public static DateTime WithTicksFrom(this DateTime dateTime, DateTime other)
|
|
{
|
|
return dateTime.WithoutTicks().AddTicks(other.Ticks % TimeSpan.TicksPerSecond);
|
|
}
|
|
}
|
|
}
|