From 2e53842febf0e77d659d09b5ccaaf2da48852293 Mon Sep 17 00:00:00 2001 From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch> Date: Sun, 11 Feb 2018 23:14:45 +0100 Subject: [PATCH] Make deltas above two months more detailed. Refers to #24 --- ATxCommon/TimeUtils.cs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/ATxCommon/TimeUtils.cs b/ATxCommon/TimeUtils.cs index 1cc9d94..b958db1 100644 --- a/ATxCommon/TimeUtils.cs +++ b/ATxCommon/TimeUtils.cs @@ -73,9 +73,29 @@ namespace ATxCommon if (delta < 2 * month) return $"{delta / week} weeks {desc}"; - // TODO: make the remaining options more flexible (like "< day" above) - if (delta < year) - return $"{delta / month} monts {desc}"; + if (delta < year) { + var months = delta / month; + var weeks = (delta - months * month) / week; + var days = ((delta - months * month) - weeks * week) / day; + var ret = $"{months} months"; + if (weeks > 0) + ret += $" {weeks} weeks"; + if (days > 0) + ret += $" {days} days"; + return $"{ret} {desc}"; + } + + if (delta < 10 * year) { + var years = delta / year; + var months = (delta - years * year) / month; + var days = ((delta - years * year) - months * month) / day; + var ret = $"{years} years"; + if (months > 0) + ret += $" {months} months"; + if (days > 0) + ret += $" {days} days"; + return $"{ret} {desc}"; + } return $"{delta / year} years {desc}"; } -- GitLab