Кто-нибудь знает библиотеку C#, которая будет правильно применять строку продолжительности ISO 8601 к DateTime, используя «номинальные» значения для Y, M и т. Д. c.?
Используя System.Xml.XmlConvert::ToTimeSpan()
неисправен. Он преобразует P1M в интервал времени в 30 дней, что означает, что он использует «точные» значения вместо «номинальных» значений, что бесполезно в большинстве моих сценариев использования:
См. 2.1. 7 номинальная продолжительность
Я не виню в этом ToTimeSpan (), так как TimeSpan не подходит для хранения номинальных значений. Мне нужно что-то, что я могу применить к DateTime и получить «номинально правильный» результат. Значение «2020-01-01» с примененным «P1Y» заканчивается как «2021-01-01».