Я не очень понимаю ваш вопрос.
Если вы хотите перевести количество дней (в некоторых временных интервалах):
Нет ничего подобного, по той простой причине, что это не будет четко определено, по той причине, которую вы даете: не каждый месяц имеет одинаковое количество дней. Следовательно, ввод не может быть только числом дней. Например, каким должен быть результат, если вы введете «35 дней»? Должно ли это быть «1 месяц, 4 дня» или «1 месяц, 5 дней», «1 месяц, 6 дней» или «1 месяц, 7 дней»? Вместо этого вам нужно указать начальную и конечную даты.
Теперь, в DateUtils
, у вас есть DaysBetween
, MonthsBetween
и YearsBetween
, но эти являются только приблизительными.
Если вы можете жить с приблизительными значениями, это легко, хотя: количество лет равно целой части числа дней, деленного на 365,24, количество месяцев равно дробной части, умноженной на 12, и т. Д.
Если вы хотите получить N-й день какого-либо года:
IncDay(StartOfTheYear(SomeYear), N)