Example #1
0
        public static bool TryParse(string value, out LeapYearMatcher leapYearMatcherMatcher)
        {
            leapYearMatcherMatcher = default;
            if (value is null || !value.EndsWith("/Leap"))
            {
                return(false);
            }
            var range = value.Remove(value.IndexOf("/Leap", StringComparison.Ordinal));

            if (!TryParse(range, null, null, null, null, out var left, out var right))
            {
                return(false);
            }
            if (left.HasValue && left == right)
            {
                return(false);                                // Single year range are invalid
            }
            leapYearMatcherMatcher = new LeapYearMatcher(left, right);
            return(true);
        }
Example #2
0
 public override bool Match(DateTime date) => base.Match(date) && !LeapYearMatcher.IsLeapYear(date);