Beispiel #1
0
        public static TimeRange CalcTimeRange(DateTime dateTime1, DateTime dateTime2, TimeType timeType, TimeUnit timeUnit)
        {
            if (dateTime1 > dateTime2)
            {
                return(CalcTimeRange(dateTime2, dateTime1, timeType, timeUnit));
            }

            if (timeType == TimeType.Moment)
            {
                dateTime1 = TimeFunctions.RoundUpDateTime(timeUnit, dateTime1);
                dateTime2 = TimeFunctions.AddDateTime(timeUnit, TimeFunctions.TruncDateTime(timeUnit, dateTime2), 1);
            }
            else
            {
                dateTime1 = TimeFunctions.TruncDateTime(timeUnit, dateTime1);
                dateTime2 = dateTime2.AddTicks(-1);
            }
            long      durationCount = TimeFunctions.TimeCountBetween(timeUnit, dateTime1, dateTime2);
            TimeRange timeRange     = new TimeRange(dateTime1, durationCount, timeUnit);

            return(timeRange);
        }
Beispiel #2
0
 private long TimeCountBetween(DateTime dateTime1, DateTime dateTime2) => TimeFunctions.TimeCountBetween(TimeUnit, dateTime1, dateTime2);