Example #1
0
        public void Ago()
        {
            DateTime?utcTime = new DateTime(2000, 1, 2, 5, 0, 0, DateTimeKind.Utc);

            DeploymentInterval deploymentInterval = utcTime.IntervalAgo(new TestClock());

            Assert.Equal(DeploymentInterval.ThisWeek, deploymentInterval);
        }
Example #2
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));
        }