/// <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"); } }
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); }