Beispiel #1
0
 public DateTime RealEndOfTimeRange(TimeUnit timeUnit, TimeType timetype)
 {
     if (timetype == TimeType.Moment)            //Ha időpontot vizsgálok, akkor a záró időpontot kiterjesztem a megadott időpontot tartalmazó időszak végéig.
     {
         return(TimeFunctions.AddDateTime(timeUnit, EndOfTimeRange(timeUnit), -1).AddTicks(1));
     }
     else            //Ha időszakot vizsgálok, akkor a kapott endtime paraméterben levő időpontot még intervallumon belülinek veszem, ezért a záró időpontot kiterjesztem 1 legkisebb időegységgel.
     {
         return(EndOfTimeRange(timeUnit).AddTicks(-1));
     }
 }
Beispiel #2
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 #3
0
 private DateTime AddDateTime(DateTime dateTime, long count) => TimeFunctions.AddDateTime(TimeUnit, dateTime, count);
Beispiel #4
0
 /// <summary>
 /// Az időintervallum végét adja vissza felfelé kerekítve a következő időszakasz kezdetére.
 /// </summary>
 public DateTime EndOfTimeRange(TimeUnit timeUnit)
 {
     return(TimeFunctions.AddDateTime(timeUnit, this.DateTimeStart, this.DurationCount));
 }