Argentini.Halide.H3Temporal.DateRange C# (CSharp) 메소드

DateRange() 공개 정적인 메소드

Returns a string array with start and end dates for a given range.
public static DateRange ( DateRangeOptions dateRangeOptions, System.DateTime relativeDate ) : DateRangeStruct
dateRangeOptions DateRangeOptions Enumeration value specifying which abstracted date range to evaluate. Note, weeks begin on Sunday and end on Saturday.
relativeDate System.DateTime Date to use as the basis for calculating the start and end date of the range.
리턴 DateRangeStruct
        public static DateRangeStruct DateRange(DateRangeOptions dateRangeOptions, DateTime relativeDate)
        {
            DateTime[] retValue = { DateTime.Today, DateTime.Today };
            DateTime myDate = relativeDate;

            switch (dateRangeOptions)
            {
                case DateRangeOptions.Week:

                    if(myDate.DayOfWeek > 0) myDate = myDate.AddDays(-1*Convert.ToInt32(myDate.DayOfWeek));

                    retValue[0] = myDate;
                    retValue[1] = myDate.AddDays(6);

                    break;

                case DateRangeOptions.Month:

                    if (myDate.Day > 1) myDate = myDate.AddDays(-1 * (myDate.Day - 1));

                    retValue[0] = myDate;
                    retValue[1] = myDate.AddMonths(1);
                    retValue[1] = retValue[1].AddDays(-1);

                    break;

                case DateRangeOptions.Quarter:

                    if (myDate.Month < 4) retValue[0] = Convert.ToDateTime("1/1/" + myDate.Year.ToString());
                    if (myDate.Month > 3 && myDate.Month < 7) retValue[0] = Convert.ToDateTime("4/1/" + myDate.Year.ToString());
                    if (myDate.Month > 6 && myDate.Month < 10) retValue[0] = Convert.ToDateTime("7/1/" + myDate.Year.ToString());
                    if (myDate.Month > 9) retValue[0] = Convert.ToDateTime("10/1/" + myDate.Year.ToString());

                    retValue[1] = retValue[0].AddMonths(3);
                    retValue[1] = retValue[1].AddDays(-1);

                    break;

                case DateRangeOptions.Year:

                    retValue[0] = Convert.ToDateTime("1/1/" + myDate.Year.ToString());
                    retValue[1] = Convert.ToDateTime("12/31/" + myDate.Year.ToString());

                    break;
            }

            DateRangeStruct retVal;
            retVal.startDate = retValue[0];
            retVal.endDate = retValue[1];

            return retVal;
        }

Same methods

H3Temporal::DateRange ( DateRangeOptions dateRangeOptions, string relativeDate ) : DateRangeStruct