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 :
datelui 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.
locateme 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,datene 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.