Esempio n. 1
0
        public static double DateTimeDiff(this DateTime startDate, DateTime endDate, DateTimeDiffCompareType howToCompare)
        {
            double diff;

            try
            {
                var timeSpan = new TimeSpan(endDate.Ticks - startDate.Ticks);
                diff = howToCompare switch
                {
                    DateTimeDiffCompareType.Ticks => Convert.ToDouble(timeSpan.Ticks),
                    DateTimeDiffCompareType.Milliseconds => Convert.ToDouble(timeSpan.TotalMilliseconds),
                    DateTimeDiffCompareType.Seconds => Convert.ToDouble(timeSpan.TotalSeconds),
                    DateTimeDiffCompareType.Minutes => Convert.ToDouble(timeSpan.TotalMinutes),
                    DateTimeDiffCompareType.Hours => Convert.ToDouble(timeSpan.TotalHours),
                    DateTimeDiffCompareType.Days => Convert.ToDouble(timeSpan.TotalDays),
                    DateTimeDiffCompareType.Year => Convert.ToDouble(timeSpan.TotalDays / 365),
                    DateTimeDiffCompareType.Quartal => Convert.ToDouble(timeSpan.TotalDays / 365 / 4),
                    _ => Convert.ToDouble(timeSpan.TotalDays),
                };
            }
            catch
            {
                diff = -1;
            }

            return(diff);
        }
Esempio n. 2
0
        public void DateTimeDiff(double expected, int seconds, DateTimeDiffCompareType dateTimeDiffCompareType)
        {
            // Arrange
            var inputA = new DateTime(1970, 1, 1, 0, 0, 0);
            var inputB = new DateTime(1970, 1, 1, 0, 0, seconds);

            // Act
            var actual = inputA.DateTimeDiff(inputB, dateTimeDiffCompareType);

            // Assert
            Assert.Equal(expected, actual);
        }