Upgrade to Pro — share decks privately, control downloads, hide ads and more …

2022-rstudio-conf-its-about-time

Davis Vaughan
July 05, 2022
290

 2022-rstudio-conf-its-about-time

Davis Vaughan

July 05, 2022
Tweet

Transcript

  1. It’s about


    time
    Davis Vaughan


    July 2022

    View Slide

  2. View Slide

  3. clock


    is not replacing


    lubridate

    View Slide

  4. 🔗 clock.r-lib.org
    Safety

    View Slide

  5. 🔗 clock.r-lib.org
    Calendars
    Safety

    View Slide

  6. 🔗 clock.r-lib.org
    2022-01-30
    Calendars
    Safety

    View Slide

  7. View Slide

  8. 🔗 clock.r-lib.org
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    27 28 1 2

    View Slide

  9. 🔗 clock.r-lib.org
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  10. 🔗 clock.r-lib.org
    "2022-01-30" + months(1) = NA
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  11. 🔗 clock.r-lib.org
    add_months("2022-01-30", 1)


    #> ! Invalid date found at location 1.


    #> ℹ Resolve invalid date issues by


    #> specifying the `invalid` argument.
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    ?
    27 28 1 2

    View Slide

  12. 🔗 clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "previous") =


    "2022-02-28"
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  13. 🔗 clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "next") =


    "2022-03-01"
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  14. 🔗 clock.r-lib.org
    add_months("2022-01-30", 1, invalid = "NA") =


    NA
    Jan
    27 28 29 30 31
    Feb Mar
    1 2
    Feb
    Add 1 month?
    27 28 1 2

    View Slide

  15. 🔗 clock.r-lib.org
    "2022-01-30"


    year_month_day

    View Slide

  16. 🔗 clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-30"


    year_month_day

    View Slide

  17. 🔗 clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day

    View Slide

  18. 🔗 clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day

    View Slide

  19. 🔗 clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day
    Date
    POSIXct

    View Slide

  20. 🔗 clock.r-lib.org
    "2022-030"


    year_day
    "2022-01-Sun[5]"


    year_month_weekday
    "2022-Q1-30"


    year_quarter_day
    "2022-W04-7"


    iso_year_week_day
    "2022-01-30"


    year_month_day
    Date
    POSIXct
    "2022-01"


    year_month_day
    "2022-01-30"


    year_month_day

    View Slide

  21. 🔗 clock.r-lib.org
    Compatibility
    slider
    ivs
    Rolling average, looking back 3 quarters
    Intervals, i.e. [2022-01, 2022-07)

    View Slide

  22. lubridate is NOT going anywhere


    But try clock for:


    - Enhanced safety


    - Powerful types
    clock.r-lib.org

    View Slide