Format input values to datetime values using one of 17 preset date styles and one of 5 preset time styles. Input can be in the form of datetime values, or strings in the ISO 8601 forms of YYYY-MM-DD HH:MM:SS or YYYY-MM-DD.
Parameters
columns:SelectExpr=None
The columns to target. Can either be a single column name or a series of column names provided in a list.
rows:int | list[int] | None=None
In conjunction with columns=, we can specify which of their rows should undergo formatting. The default is all rows, resulting in all rows in targeted columns being formatted. Alternatively, we can supply a list of row indices.
date_style:DateStyle='iso'
The date style to use. By default this is the short name "iso" which corresponds to ISO 8601 date formatting. There are 41 date styles in total and their short names can be viewed using info_date_style().
time_style:TimeStyle='iso'
The time style to use. By default this is the short name "iso" which corresponds to how times are formatted within ISO 8601 datetime values. There are 5 time styles in total and their short names can be viewed using info_time_style().
Formatting with the date_style and time_style arguments
We need to supply a preset date style to the date_style argument and a preset time style to the time_style argument. The date styles are numerous and can handle localization to any supported locale. The following table provides a listing of all date styles and their output values (corresponding to an input date of 2000-02-29 14:35:00).
Date Style
Output
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
"day_m"
"29 Feb"
11
"year"
"2000"
12
"month"
"February"
13
"day"
"29"
14
"year.mn.day"
"2000/02/29"
15
"y.mn.day"
"00/02/29"
16
"year_week"
"2000-W09"
17
"year_quarter"
"2000-Q1"
The time styles are numerous and can handle localization to any supported locale. The following table provides a listing of all time styles and their output values (corresponding to an input time of 2000-02-29 14:35:00).
Time Style
Output
Notes
1
"iso"
"14:35:00"
ISO 8601, 24h
2
"iso-short"
"14:35"
ISO 8601, 24h
3
"h_m_s_p"
"2:35:00 PM"
12h
4
"h_m_p"
"2:35 PM"
12h
5
"h_p"
"2 PM"
12h
We can use the info_date_style() and info_time_style() functions within the console to view similar tables of date and time styles with example output.
The GT object is returned. This is the same object that the method is called on so that we can facilitate method chaining.
Examples
Let’s use the exibble dataset to create a simple, two-column table (keeping only the date and time columns). With the fmt_datetime() method, we’ll format the date column to display dates formatted with the "month_day_year" date style and the time column to display times formatted with the "h_m_s_p" time style.