Format input date values that are either of the Date type, or, are character-based and expressed according to the ISO 8601 date format (YYYY-MM-DD). Once the appropriate data cells are targeted with columns (and, optionally, rows), we can simply apply a preset date style (see table in info_date_style() for info) to format the dates.

fmt_date(data, columns, rows = NULL, date_style = 2)

Arguments

data

A table object that is created using the gt() function.

columns

The columns to format. Can either be a series of column names provided in vars(), a vector of column indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), and everything().

rows

Optional rows to format. Not providing any value results in all rows in columns being formatted. Can either be a vector of row captions provided c(), a vector of row indices, or a helper function focused on selections. The select helper functions are: starts_with(), ends_with(), contains(), matches(), one_of(), and everything(). We can also use expressions to filter down to the rows we need (e.g., [colname_1] > 100 & [colname_2] < 50).

date_style

The date style to use. Supply a number (from 1 to 14) that corresponds to the preferred date style. Use info_date_style() to see the different numbered and named date presets.

Value

An object of class gt_tbl.

Details

The following date styles are available for simpler formatting of ISO dates (all using the input date of 2000-02-29 in the example output dates):

  1. iso: 2000-02-29

  2. wday_month_day_year: Tuesday, February 29, 2000

  3. wd_m_day_year: Tue, Feb 29, 2000

  4. wday_day_month_year: Tuesday 29 February 2000

  5. month_day_year: February 29, 2000

  6. m_day_year: Feb 29, 2000

  7. day_m_year: 29 Feb 2000

  8. day_month_year: 29 February 2000

  9. day_month: 29 February

  10. year: 2000

  11. month: February

  12. day: 29

  13. year.mn.day: 2000/02/29

  14. y.mn.day: 0/02/29

We can use the info_date_style() function for a useful reference on all of the possible inputs to date_style.

Targeting of values is done through columns and additionally by rows (if nothing is provided for rows then entire columns are selected). A number of helper functions exist to make targeting more effective. Conditional formatting is possible by providing a conditional expression to the rows argument. See the Arguments section for more information on this.

Figures

See also

Examples

# Use `exibble` to create a gt table; # keep only the `date` and `time` columns; # format the `date` column to have # dates formatted as `month_day_year` # (date style `5`) tab_1 <- exibble %>% dplyr::select(date, time) %>% gt() %>% fmt_date( columns = vars(date), date_style = 5 ) # Use `exibble` to create a gt table; # keep only the `date` and `time` columns; # format the `date` column to have mixed # date formats (dates after April will # be different than the others) tab_2 <- exibble %>% dplyr::select(date, time) %>% gt() %>% fmt_date( columns = vars(date), rows = as.Date(date) > as.Date("2015-04-01"), date_style = 6 ) %>% fmt_date( columns = vars(date), rows = as.Date(date) <= as.Date("2015-04-01"), date_style = 7 )