> Rappelez-vous, dimanche 2:46 GMT, UNIX aura un milliard de secondes
> (l'epoch). Cela fait passer les secondes de 9 à 10 chiffres lorsqu'elles
> sont représentées en nombre texte.
...
> Donc, sous certaines conditions, l'année exprimée à deux chiffres peut
> être mal interprétée et 2008/2009 (aka 08/09) comprises comme 2000 (aka
> 00). 
A ce propos, j'ai eu des ``bugs du mois d'août'' dans des scripts shell
car je récupérais la date en faisans: smois=$(date +%m), pour ensuite
effectuer des opération arithmétique avec la variable $smois.
La solution à ce propos est:
$ smois=$(date +%1m)
voire:
$ adate=($(date +"%1d %1m %Y %1H %1M %1S"))
$ smois=${date[1]}
...
$ printf "%02d-%02d-%4d %02d:%02d:%02d\n" ${adate[@]}
... :-))

Comme je suis tjrs sous bash (v2;-) je me suis amusé:
---------------
felix@medium:~$ sdte=$(date -d "2001-9-9 03:46:39" +%s);echo ${#sdte}: $sdte
9: 999999999
felix@medium:~$ sdte=$(date -d "2001-9-9 03:46:40" +%s);echo ${#sdte}: $sdte
10: 1000000000
---------------
Alors j'essaie dans l'autre sens... Nota: je n'ai pas trouvé de moyen
simple, a priori d'effectuer l'opération inverse: secondes -> date+heure.

J'ai fait:
---------------
felix@medium:~$ date -d "1970-1-1 0:0:999999999"
dim sep  9 02:46:39 CEST 2001
felix@medium:~$ date -d "1970-1-1 0:0:999999999 UTC"
dim sep  9 04:46:39 CEST 2001
---------------
Alors là, je ne trouve pas 3:46 mais 2:46???, bien que:
---------------
Therefore TZ='Europe/Zurich' will be used.
Local time is now:      Mon Sep 10 09:30:35 CEST 2001.
Universal Time is now:  Mon Sep 10 07:30:35 UTC 2001.
---------------
Après m'être bien amusé, je vous laisse deux questions:

1: Existe-t-il un moyen ``standard'' d'effectuer l'opération sec->date?

2: Pourquoi je n'ai pas le même résultat avec ma méthode?

La réponse à le première contiendra probablement la réponse à la
deuxième:-P

A+!
--
 Félix Hauri  -  <[EMAIL PROTECTED]>  -  http://www.f-hauri.ch

--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se désabonner aussi.

Répondre à