Пример #1
0
        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"));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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));
        }