diff --git a/datetimes.qmd b/datetimes.qmd index f272f11..c5ee212 100644 --- a/datetimes.qmd +++ b/datetimes.qmd @@ -519,24 +519,27 @@ It's obvious what `dyears(1) / ddays(365)` should return: one, because durations What should `years(1) / days(1)` return? Well, if the year was 2015 it should return 365, but if it was 2016, it should return 366! There's not quite enough information for lubridate to give a single clear answer. -What it does instead is give an estimate, with a warning: +What it does instead is give an estimate: ```{r} years(1) / days(1) ``` If you want a more accurate measurement, you'll have to use an **interval**. -An interval is a duration with a starting point: that makes it precise so you can determine exactly how long it is: +An interval is a pair of starting and ending date times, or you can think of it as a duration with a starting point. + +You can create an interval by writing `start %--% end`: ```{r} -next_year <- today() + years(1) -(today() %--% next_year) / ddays(1) +to_next_year <- today() %--% (today() + years(1)) +to_next_year ``` -To find out how many periods fall into an interval, you need to use integer division: +You could then divide it by a duration or a period: ```{r} -(today() %--% next_year) %/% days(1) +to_next_year / ddays(1) +to_next_year / months(1) ``` ### Summary