Exemplo n.º 1
0
        /// <summary>
        /// Adds using field to indicate which datetime field to add to.
        /// </summary>
        /// <param name="dateTime">The date time.</param>
        /// <param name="field">The field.</param>
        /// <param name="amount">The amount.</param>
        /// <returns></returns>
        public static DateTimeOffset AddUsingField(this DateTimeOffset dateTime, int field, int amount)
        {
            switch (field)
            {
            case DateTimeFieldEnum.MILLISEC:
                return(dateTime.AddMilliseconds(amount));

            case DateTimeFieldEnum.SECOND:
                return(dateTime.AddSeconds(amount));

            case DateTimeFieldEnum.MINUTE:
                return(dateTime.AddMinutes(amount));

            case DateTimeFieldEnum.HOUR_OF_DAY:
                return(dateTime.AddHours(amount));

            case DateTimeFieldEnum.DATE:
            case DateTimeFieldEnum.DAY_OF_MONTH:
                return(dateTime.AddDays(amount));

            case DateTimeFieldEnum.MONTH:
                return(dateTime.AddMonthsLikeJava(amount));

            case DateTimeFieldEnum.YEAR:
                return(dateTime.AddYears(amount));

            default:
                throw new ArgumentException("invalid datetime");
            }
        }
Exemplo n.º 2
0
        public DateTimeEx AddMonths(int amount, DateTimeMathStyle style = DateTimeMathStyle.CLR)
        {
            if (style == DateTimeMathStyle.CLR)
            {
                _dateTime = _dateTime.AddMonths(amount);
            }
            else
            {
                _dateTime = _dateTime.AddMonthsLikeJava(amount);
                return(Rebase());
            }

            return(this);
        }