Each time I want to extract or show a specific attribute of a date or a time, I am lost in the documentation. What letter do I need to use in format()
to get the name of the day written in full, in my language, from the current date? Is it “%Y %m %d”, “%a %b %d”, …?
So let’s keep it short this time!
Create a table of datetime conversion using format
and specific locale
At the time I run this script, we are eaxctly:
today <- Sys.time()
today
## [1] "2020-09-10 22:53:48 CEST"
Now, I can use Sys.setlocale()
to define the language in which I want to show the output. With all letters of the alphabet, upper and lowercase, I can now directly see what is the output of function format()
applied on a date (i.e. 2020-09-10) or on a time (i.e. 2020-09-10 22:53:48).
lct <- Sys.getlocale("LC_TIME")
res <- tibble::tibble(
format = paste0("%", sort(c(letters, LETTERS))),
date_locale_C = {Sys.setlocale("LC_TIME", "C");format(Sys.Date(), format)},
time_locale_C = {Sys.setlocale("LC_TIME", "C");format(today, format)},
date_locale_fr = {Sys.setlocale("LC_TIME", "fr_FR.UTF-8");format(Sys.Date(), format)},
time_locale_fr = {Sys.setlocale("LC_TIME", "fr_FR.UTF-8");format(today, format)},
date_locale_en = {Sys.setlocale("LC_TIME", "en_GB.UTF-8");format(Sys.Date(), format)},
time_locale_en = {Sys.setlocale("LC_TIME", "en_GB.UTF-8");format(today, format)}
)
Sys.setlocale("LC_TIME", lct)
## [1] "fr_FR.UTF-8"
knitr::kable(res)
format | date_locale_C | time_locale_C | date_locale_fr | time_locale_fr | date_locale_en | time_locale_en |
---|---|---|---|---|---|---|
%a | Thu | Thu | jeu. | jeu. | Thu | Thu |
%A | Thursday | Thursday | jeudi | jeudi | Thursday | Thursday |
%b | Sep | Sep | sept. | sept. | Sep | Sep |
%B | September | September | septembre | septembre | September | September |
%c | Thu Sep 10 00:00:00 2020 | Thu Sep 10 22:53:48 2020 | jeu. 10 sept. 2020 00:00:00 | jeu. 10 sept. 2020 22:53:48 | Thu 10 Sep 2020 00:00:00 UTC | Thu 10 Sep 2020 22:53:48 CEST |
%C | 20 | 20 | 20 | 20 | 20 | 20 |
%d | 10 | 10 | 10 | 10 | 10 | 10 |
%D | 09/10/20 | 09/10/20 | 09/10/20 | 09/10/20 | 09/10/20 | 09/10/20 |
%e | 10 | 10 | 10 | 10 | 10 | 10 |
%E | %E | %E | %E | %E | %E | %E |
%f | %f | %f | %f | %f | %f | %f |
%F | 2020-09-10 | 2020-09-10 | 2020-09-10 | 2020-09-10 | 2020-09-10 | 2020-09-10 |
%g | 20 | 20 | 20 | 20 | 20 | 20 |
%G | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 |
%h | Sep | Sep | sept. | sept. | Sep | Sep |
%H | 00 | 22 | 00 | 22 | 00 | 22 |
%i | %i | %i | %i | %i | %i | %i |
%I | 12 | 10 | 12 | 10 | 12 | 10 |
%j | 254 | 254 | 254 | 254 | 254 | 254 |
%J | %J | %J | %J | %J | %J | %J |
%k | 0 | 22 | 0 | 22 | 0 | 22 |
%K | %K | %K | %K | %K | %K | %K |
%l | 12 | 10 | 12 | 10 | 12 | 10 |
%L | %L | %L | %L | %L | %L | %L |
%m | 09 | 09 | 09 | 09 | 09 | 09 |
%M | 00 | 53 | 00 | 53 | 00 | 53 |
%n | ||||||
%N | %N | %N | %N | %N | %N | %N |
%o | %o | %o | %o | %o | %o | %o |
%O | %O | %O | %O | %O | %O | %O |
%p | AM | PM | am | pm | ||
%P | am | pm | am | pm | ||
%q | %q | %q | %q | %q | %q | %q |
%Q | %Q | %Q | %Q | %Q | %Q | %Q |
%r | 12:00:00 AM | 10:53:48 PM | 12:00:00 | 10:53:48 | 12:00:00 am UTC | 10:53:48 pm CEST |
%R | 00:00 | 22:53 | 00:00 | 22:53 | 00:00 | 22:53 |
%s | 1599696000 | 1599771228 | 1599696000 | 1599771228 | 1599696000 | 1599771228 |
%S | 00 | 48 | 00 | 48 | 00 | 48 |
%t | ||||||
%T | 00:00:00 | 22:53:48 | 00:00:00 | 22:53:48 | 00:00:00 | 22:53:48 |
%u | 4 | 4 | 4 | 4 | 4 | 4 |
%U | 36 | 36 | 36 | 36 | 36 | 36 |
%v | %v | %v | %v | %v | %v | %v |
%V | 37 | 37 | 37 | 37 | 37 | 37 |
%w | 4 | 4 | 4 | 4 | 4 | 4 |
%W | 36 | 36 | 36 | 36 | 36 | 36 |
%x | 09/10/20 | 09/10/20 | 10/09/2020 | 10/09/2020 | 10/09/20 | 10/09/20 |
%X | 00:00:00 | 22:53:48 | 00:00:00 | 22:53:48 | 00:00:00 | 22:53:48 |
%y | 20 | 20 | 20 | 20 | 20 | 20 |
%Y | 2020 | 2020 | 2020 | 2020 | 2020 | 2020 |
%z | +0000 | +0200 | +0000 | +0200 | +0000 | +0200 |
%Z | UTC | CEST | UTC | CEST | UTC | CEST |
Maybe this table of datetime conversion will be useful for other developers !
Citation:
For attribution, please cite this work as:
Rochette Sébastien. (2020, Sep. 10). "Date-time Conversion in R with format and strptime". Retrieved from https://statnmap.com/2020-09-10-date-time-conversion-in-r-with-format-and-strptime/.
BibTex citation:
@misc{Roche2020Date-,
author = {Rochette Sébastien},
title = {Date-time Conversion in R with format and strptime},
url = {https://statnmap.com/2020-09-10-date-time-conversion-in-r-with-format-and-strptime/},
year = {2020}
}