X-Received: by 2002:a05:6000:47:: with SMTP id k7mr1103467wrx.485.1638301961278; Tue, 30 Nov 2021 11:52:41 -0800 (PST) Path: ...!news-out.google.com!nntp.google.com!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp1-1.free.fr!not-for-mail From: Thomas Newsgroups: fr.comp.os.unix Mail-Copies-To: nobody Subject: Re: obtenir le fuseau horaire References: <87ilw9sd1t.fsf@universite-de-strasbourg.fr.invalid> MIME-Version: 1.0 User-Agent: MT-NewsWatcher/3.5.3b3 (Intel Mac OS X) Date: Tue, 30 Nov 2021 20:52:40 +0100 Message-ID: Lines: 60 Organization: Guest of ProXad - France NNTP-Posting-Date: 30 Nov 2021 20:52:41 CET NNTP-Posting-Host: 91.175.52.121 X-Trace: 1638301961 news-1.free.fr 4981 91.175.52.121:13291 X-Complaints-To: abuse@proxad.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bytes: 3230 In article <87ilw9sd1t.fsf@universite-de-strasbourg.fr.invalid>, Alain Ketterlin wrote: > Thomas writes: > > [...] > > est-ce qu'il est fait usage, qqpart dans le monde, de fuseaux horaires > > dont les minutes ne sont pas 0 ? > > Oui. Le Népal est à +05:45 par exemple. donc pour être bien portable, il faudrait que ça puisse être traduit par ex en "0575". > > > si oui, > > y a-t-il un moyen assez simple d'obtenir ou de convertir ça en secondes, > > ou autre format suffisamment pratique pour les calculs ? > > (J'ai un doute sur "les calculs". En général on calcule en UTC et on > affiche dans un fuseau donné. Cela dit...) jusqu'à maintenant, j'ai réussi à faire tout ce que je voulais en UTC. mais comme j'ai dit au début du fil, maintenant j'ai un truc pour lequel je souhaite me caler sur le minuit local plutôt que sur le minuit UTC. > > 1) date (chez moi) a des variantes "%:z" par exemple, qui affiche > "+01:00" par exemple ça ne marche pas chez moi, mais c'est peut être pas grave si ça ne servait qu'à l'affichage et pas aux calculs. > > 2) ces chaînes sont des format fixe, donc même (s)scanf devrait s'en > sortir ; par exemple sscanf (..., "%1[+-]%d:%d", ...) en C. je ne comprend pas tout, mais effectivement, potentiellement on dot pouvoir séparer le signe puis 2 groupes de 2 chiffres, pour appliquer à chaque un traitement différent .... (un peu une usine à gaz pour ce que c'est, c'est pour ça que j'espérais qu'il existe qqch de simple :-) ) > > 3) si tu dois faire cela en bash, il est possible de fournir la base, en > écrivant par exemple $((10#010)) (qui vaut 10) plutôt que $((010)) (qui > vaut 8). ça ne marche pas à cause du signe : $ var=$(( 10#010 )) + var=10 $ var=$(( 10#+010 )) + var=8 -- RAPID maintainer http://savannah.nongnu.org/projects/rapid/