Bonjour à tous,
Je pensais avoir fait le tour de la commande date mais je viens de tomber sur un os !
Si je tape :
date -d "03/02/2020"
j'obtiens :
lundi 2 mars 2020, 00:00:00 (UTC+0100)
J'en déduis qu'il considère que le format par défaut est mm/jj/aaaa.
Alors je tape :
date -d "03/02/2020" "+%d/%m/%Y"
pour forcer le format mais j'obtiens :
02/03/2020
Donc, toujours le 2 mars et non le 3 février comme je voudrais.
Pour m'assurer que je ne divague pas, si je tape :
date -d "13/02/2020" "+%d/%m/%Y"
il me retourne :
date: date «13/02/2020» incorrecte
ce qui prouve bien que, malgré mon format, il considère que la date est bien dans le format mm/jj/aaaa.
Que dois-je faire pour qu'il considère que je lui rentre une date au format jj/mm/aaaa ?
Merci pour votre aide.
# 3 février 2020
Posté par Axone . Évalué à 1.
[^] # Re: 3 février 2020
Posté par Axone . Évalué à 2. Dernière modification le 22 janvier 2021 à 21:04.
Non ce n'est pas bon.
# Locale
Posté par ted (site web personnel) . Évalué à 5.
Je pense que ton système est réglé avec des paramètres régionaux américains. Tu peux vérifier ça avec la commande
locale
, et régler ça avecupdate-locale
(à chercher sur le web), et peut être en graphique si tu as un environnement de bureau.La chaine "+%d/%m/%Y" ne force pas la commande
date
à interpréter la date selon ce format, mais à la restituer selon ce format (ce qu'elle fait correctement si la locale n'est pas FR)Un LUG en Lorraine : https://enunclic-cappel.fr
[^] # Re: Locale
Posté par Cyril Brulebois (site web personnel) . Évalué à 9. Dernière modification le 23 janvier 2021 à 06:33.
Tout à fait d'accord avec toi pour la notation
+
.A priori, mauvaise piste pour les paramètres régionaux :
date
lui répond en français. Mais vérifions…La page de manuel :
La page info :
La notation US est très ancrée…
Pour ma part, je préfère toujours ISO 8601 (YYYY-MM-DD) pour toute date (aucune ambiguïté possible, ça se trie trivialement, etc.), et c'est accepté par
date
.Debian Consultant @ DEBAMAX
[^] # Re: Locale
Posté par Zgema . Évalué à 1.
Je suis bien d'accord, le format YYYY-MM-DD ou même YYYYMMDD est bien plus simple, clair, facile.
Malheureusement, je n'ai pas la main sur ce format, je dois faire avec.
[^] # Re: Locale
Posté par Zgema . Évalué à 1.
Désolé pour le retour tardif, d'autres tâches requéraient mon attention.
locate
me retourne une réponse franco-française :LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
# Impossible ?
Posté par tisaac (Mastodon) . Évalué à 8. Dernière modification le 22 janvier 2021 à 22:44.
Je ne suis pas spécialiste mais en lisant l'aide de
date
, je ne suis pas sûr que cela soit possible de le faire au niveau de la commandedate
.Quand tu ajoutes quelques choses du style
+%d/%m/%y
,date
ne le comprend pas comme le format de ton entrée mais comme le format que tu souhaites en sortie.Surtout, ne pas tout prendre au sérieux !
[^] # Re: Impossible ?
Posté par Zgema . Évalué à 2.
Je suis arrivé exactement à la même conclusion.
Du coup mon problème reste entier : comment faire comprendre que ma date est au format DD/MM/YYYY ?
En attendant de trouver mieux, je vais "retourner" le jour et le mois pour être dans le format qu'il attend. C'est pas génial, j'en conviens.
Merci à tous pour vos participations.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.