Se abbiamo bisogno di sapere il giorno esatto in cui viene applicato il cambio dell’ora legale, possiamo manipolare l’output del comando “cal” sapendo che l’ora legale ha inizio l’ultima domenica di marzo e termina l’ultima domenica di ottobre.

Quindi possiamo invocare il calendario del mese di marzo o ottobre (cal 03 2019), selezionare la colonna relativo alla domenica (awk ‘{print $1}’), considerare solo i numeri e non gli spazi o altri caratteri (grep [0-9]) e infine prendere l’ultima riga (tail -1)

$ cal 03 2019
     Marzo 2019       
do lu ma me gi ve sa  
                1  2  
 3  4  5  6  7  8  9  
10 11 12 13 14 15 16  
17 18 19 20 21 22 23  
24 25 26 27 28 29 30  
31                    

$ cal 03 2019 | awk '{print $1}' | grep [0-9] | tail -1
31

Alcuni link per verificare la correttezza del calcolo:

http://www.dossier.net/utilities/calcolo-ora-legale/index.html

https://it.wikipedia.org/wiki/Ora_legale

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.