298 private links
Quand je lis cette discussion, je me dis que certains veulent empêcher le monde d'être meilleur (mode ronchon activé).
Bon, concrètement, il faut vraiment admettre que la lettre 'T' est obligatoire, une bonne fois pour toute !
Voir la RFC3339 https://tools.ietf.org/html/rfc3339
Pour faire simple, 'T' est obligatoire comme séparateur, mais il "peut être possible d'utiliser un espace, parce qu'on est gentil toussa" ; et du coup, ce passage "on est gentil toussa", ben voilà, tout le monde l’interprète à sa sauce.
Pourtant, d'autres programmes l'ont déjà compris, comme :
- PHP : date(DATE_RFC3339) (voir ma page https://thican.net/myip.php)
- syslog-ng : ts_format(rfc3339) (du coup, tous mes logs gérés créés par syslog sont de la forme 2013-06-26T11:26:15+02:00)
voir aussi, plus récemment : http://gnu-coreutils.7620.n7.nabble.com/bug-6132-bug-in-date-rfc-3339-TIMESPEC-option-doesn-t-print-T-td19183.html
Il n'y a que date dans coreutils qui a cet espace.
du coup, soit on utilise : date --rfc-3339=seconds | tr ' ' 'T'
ou : date +'%Y-%m-%dT%H:%M:%S%:z' (oui oui oui, il faut mettre "%:z" et non "%z", car vous risquerez d'avoir +0200 au lieu de +02:00. La seule raison qui pousse à ce comportement, c'est d'éviter au maximum tous les caractères non-alpha-numériques dans les noms de fichiers… bof quoi.)