示例#1
0
        public static DateTime AddTenor(this DateTime dt, Tenor tnr)
        {
            switch (tnr.Unit)
            {
            case TenorUnit.Sec:
                return(dt.AddSeconds(tnr.Number));

            case TenorUnit.Min:
                return(dt.AddMinutes(tnr.Number));

            case TenorUnit.Hour:
                return(dt.AddHours(tnr.Number));

            case TenorUnit.Day:
                return(dt.AddDays(tnr.Number));

            case TenorUnit.Week:
                return(dt.AddDays(tnr.Number * 7));

            case TenorUnit.Month:
                return(dt.AddMonths(tnr.Number));

            case TenorUnit.Year:
                return(dt.AddYears(tnr.Number));

            default:
                throw new Exception($"Unknown TenorUnit: [{tnr.Unit}]");
            }
        }
示例#2
0
 public static DateTime AddTenor(this DateTime dt, Tenor tnr, bool isRounded = false)
 {
     if (!isRounded)
     {
         return(dt.AddTenor(tnr));
     }
     else
     {
         DateTime dt2 = dt.GetRoundDate(tnr.Unit);
         return(dt2.AddTenor(tnr));
     }
 }