Chaque fois que je veux extraire ou montrer une partie spécifique d’une date ou d’une heure, je suis perdu dans la documentation. Quelle lettre dois-je utiliser dans format()
pour obtenir le nom du jour écrit en entier, dans ma langue, à partir de la date actuelle ? Est-ce “%d %m %Y”, “%a %d %b”, …?
On va faire un article court pour cette fois !
Créer un tableau de conversion date-heure en utilisant format
et une locale spécifique
Au moment où je lance ce script, il est exactement :
today <- Sys.time()
today
## [1] "2020-09-10 23:31:45 CEST"
Maintenant, je peux utiliser Sys.setlocale()
pour définir la langue dans laquelle je veux afficher la sortie. Avec toutes les lettres de l’alphabet, majuscules et minuscules, je peux maintenant voir directement quelle est la sortie de la fonction format()
appliquée à une date (i.e. 2020-09-10) ou à une heure (i.e. 2020-09-10 23:31:45).
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 23:31:45 2020 | jeu. 10 sept. 2020 00:00:00 | jeu. 10 sept. 2020 23:31:45 | Thu 10 Sep 2020 00:00:00 UTC | Thu 10 Sep 2020 23:31:45 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 | 23 | 00 | 23 | 00 | 23 |
%i | %i | %i | %i | %i | %i | %i |
%I | 12 | 11 | 12 | 11 | 12 | 11 |
%j | 254 | 254 | 254 | 254 | 254 | 254 |
%J | %J | %J | %J | %J | %J | %J |
%k | 0 | 23 | 0 | 23 | 0 | 23 |
%K | %K | %K | %K | %K | %K | %K |
%l | 12 | 11 | 12 | 11 | 12 | 11 |
%L | %L | %L | %L | %L | %L | %L |
%m | 09 | 09 | 09 | 09 | 09 | 09 |
%M | 00 | 31 | 00 | 31 | 00 | 31 |
%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 | 11:31:45 PM | 12:00:00 | 11:31:45 | 12:00:00 am UTC | 11:31:45 pm CEST |
%R | 00:00 | 23:31 | 00:00 | 23:31 | 00:00 | 23:31 |
%s | 1599696000 | 1599773505 | 1599696000 | 1599773505 | 1599696000 | 1599773505 |
%S | 00 | 45 | 00 | 45 | 00 | 45 |
%t | ||||||
%T | 00:00:00 | 23:31:45 | 00:00:00 | 23:31:45 | 00:00:00 | 23:31:45 |
%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 | 23:31:45 | 00:00:00 | 23:31:45 | 00:00:00 | 23:31:45 |
%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 |
Peut-être que cette table de conversion date-heure sera utile à d’autres développeurs !
Citation :
Merci de citer ce travail avec :
Rochette Sébastien. (2020, sept.. 10). "Conversion de format date-heure dans R avec format et strptime". Retrieved from https://statnmap.com/fr/2020-09-10-conversion-de-format-date-heure-dans-r-avec-format-et-strptime/.
Citation BibTex :
@misc{Roche2020Conve,
author = {Rochette Sébastien},
title = {Conversion de format date-heure dans R avec format et strptime},
url = {https://statnmap.com/fr/2020-09-10-conversion-de-format-date-heure-dans-r-avec-format-et-strptime/},
year = {2020}
}