public static string ToLocalTimeFormatted(this DateTime dateTimeUtc, [NotNull] ICustomClock customClock) { if (customClock == null) { throw new ArgumentNullException(nameof(customClock)); } var utcTime = new DateTime(dateTimeUtc.Ticks, DateTimeKind.Utc); return(customClock.ToLocalTime(utcTime).ToString("yyyy-MM-dd HH:mm:ss")); }
public static string RelativeUtcToLocalTime(this DateTime?dateTimeUtc, [NotNull] ICustomClock customClock) { if (customClock == null) { throw new ArgumentNullException(nameof(customClock)); } if (!dateTimeUtc.HasValue) { return(Constants.NotAvailable); } DateTime localThen = customClock.ToLocalTime(dateTimeUtc.Value); DateTime localNow = customClock.LocalNow(); return(localNow.Since(localThen)); }
public static DeploymentInterval IntervalAgo(this DateTime?dateTimeUtc, [NotNull] ICustomClock customClock) { if (customClock == null) { throw new ArgumentNullException(nameof(customClock)); } if (!dateTimeUtc.HasValue) { return(DeploymentInterval.Invalid); } TimeSpan diff = customClock.LocalNow() - customClock.ToLocalTime(dateTimeUtc.Value); if (diff.TotalSeconds < 0) { return(DeploymentInterval.Invalid); } return(DeploymentInterval.Parse(diff)); }