using System;
namespace AyaNova.Util
{
internal static class DateUtil
{
///
/// Is the current date after the referenced date by at least the duration specified
///
/// UTC start point to compare to current UTC date
///
///
///
///
public static bool IsAfterDuration(DateTime startDate, int Hours, int Minutes = 0, int Seconds = 0)
{
TimeSpan ts = new TimeSpan(Hours, Minutes, Seconds);
return IsAfterDuration(startDate, ts);
}
///
/// Is the current date after the referenced date by at least the timespan specified
///
/// UTC start point to compare to current UTC date
///
///
public static bool IsAfterDuration(DateTime startDate, TimeSpan tspan)
{
if (DateTime.UtcNow - startDate < tspan)
return false;
return true;
}
///
/// An internally consistent empty or not relevant date marker:
/// January 1st 5555
///
///
public static DateTime EmptyDateValue
{
get
{
return new DateTime(5555, 1, 1);
//Was going to use MaxValue but apparently that varies depending on culture
// and Postgres has issues with year 1 as it interprets as year 2001
// so to be on safe side just defining one for all usage
}
}
///
/// returns a UTC short date, short time formatted date for local display to end user in logs, errors etc at the server level
/// (Not related to UI display of dates and times)
///
///
///
public static string ServerDateTimeString(DateTime DateToDisplay)
{
return DateToDisplay.ToLocalTime().ToString("g");
}
}//eoc
}//eons