diff options
author | June McEnroe <june@causal.agency> | 2022-10-05 23:36:30 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2022-10-05 23:36:30 -0400 |
commit | b8e33ff1f3231aa5dd84b27fc53c8bf4ace2da90 (patch) | |
tree | 67300b657124118769e31be7a5c445c7a578abb7 /bin | |
parent | Update "Care" with more on electrolysis (diff) | |
download | src-b8e33ff1f3231aa5dd84b27fc53c8bf4ace2da90.tar.gz src-b8e33ff1f3231aa5dd84b27fc53c8bf4ace2da90.zip |
Fix same month, different day diffs
This fixes it expressing a 355d difference, for example, as 1y -1m 20d. Just switching to <= would make it express 365d as 12m rather than 1y.
Diffstat (limited to 'bin')
-rw-r--r-- | bin/when.y | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/bin/when.y b/bin/when.y index c94c5514..46651ebb 100644 --- a/bin/when.y +++ b/bin/when.y @@ -121,7 +121,10 @@ static struct tm dateDiff(struct tm a, struct tm b) { .tm_mon = a.tm_mon - b.tm_mon, .tm_mday = a.tm_mday - b.tm_mday, }; - if (a.tm_mon < b.tm_mon) { + if ( + a.tm_mon < b.tm_mon || + (a.tm_mon == b.tm_mon && a.tm_mday < b.tm_mday) + ) { diff.tm_year--; diff.tm_mon += 12; } |