1. Converti la data nell'ora dell'epoca:
Per convertire una data e un'ora in un'epoca in pochi secondi, puoi utilizzare il comando `date` con l'opzione ` +%s`.
Ad esempio, per convertire la data e l'ora "1 gennaio 1970 00:00:00 UTC" nell'ora dell'epoca, utilizzare il seguente comando:
```
$ data --utc -d '1970-01-01 00:00:00 UTC' +%s
```
Questo comando produrrebbe il seguente tempo di epoca:
```
0
```
2. Converti l'ora dell'epoca fino ad oggi:
Per convertire l'ora dell'epoca in una data e l'ora, puoi utilizzare il comando `date` con l'opzione ` -d @`.
Ad esempio, per convertire l'ora dell'epoca "0" in una data e un'ora, utilizzare il seguente comando:
```
$data -d @0
```
Questo comando restituirebbe la seguente data e ora:
```
Gio 1 gennaio 00:00:00 UTC 1970
```
3. Aggiungi/sottrai secondi al/dal tempo dell'epoca:
Per aggiungere o sottrarre secondi dall'epoca, puoi utilizzare il comando `date` con le opzioni ` -d @` e ` +%s`.
Ad esempio, per aggiungere 60 secondi all'epoca "0", utilizzare il seguente comando:
```
$data -d @0 +%s
```
Questo comando produrrebbe il seguente tempo di epoca:
```
60
```
Per sottrarre 60 secondi dall'epoca "60", utilizzare il seguente comando:
```
$ data --date='@60 secondi' -u +%s
```
5. Converti i secondi nel formato data:
```
$data -d @1585233869
```
Per sottrarre 1 giorno (86400 secondi) dall'epoca:
```
$ data -d "adesso - 1 giorno" +%s
```
1. Converti la data nell'ora dell'epoca, considerando il fuso orario:
Ad esempio, per convertire la data e l'ora "1 gennaio 1970 12:00:00 EST" nell'ora dell'epoca in secondi, utilizzare il seguente comando:
```
$ data --data '1970-01-01 12:00:00 EST' +%s
```
Qui, "date" viene utilizzato con l'opzione "--date" per convertire una stringa che rappresenta la data e l'ora nell'ora dell'epoca. ` +%s` formatta l'output come il numero di secondi trascorsi dal 1 gennaio 1970, 00:00:00 UTC.
Questo comando produrrebbe il seguente tempo di epoca:
```
3600
```
2. Converti l'ora dell'epoca fino ad oggi, considerando l'UTC:
Ad esempio, per convertire l'ora dell'epoca "1585233869" in una data e un'ora in formato UTC, utilizzare il seguente comando:
```
$data -ud @1585233869
```
In questo esempio, l'opzione "-ud" viene utilizzata con il simbolo "@" per interpretare l'epoca di "1585233869" come timestamp Unix in UTC.
Questo comando restituirebbe la seguente data e ora:
```
Dom 29 marzo 18:24:29 UTC 2020
```
3. Converti l'ora dell'epoca nel fuso orario locale:
Per convertire l'ora dell'epoca "1585233869" in una data e un'ora in un fuso orario specifico, utilizza `date -d @1585233869 -T "timezone"`, sostituendo "timezone" con il fuso orario desiderato.
```
$ data -d @1585233869 -T "America/New_York"
```
Verrebbe visualizzato:
```
Domenica 29 marzo 13:24:29 EDT 2020
```
4. Converti la data in millisecondi dell'epoca (millisecondi dall'epoca):
Per convertire una data come "1 luglio 2020, 12:30" in millisecondi, utilizza `date +%s%3N`, dove `+%s` indica i secondi trascorsi dall'epoca e `%3N` aggiunge 3 cifre per i millisecondi .
```
$ data --data '1 luglio 2020, 12:30' +%s%3N
```
Questo restituisce i millisecondi dell'epoca:
```
1593630600992
```
5. Converti millis di epoca in data leggibile dall'uomo:
Per convertire i millis di epoca, come 1593630600000, in una stringa di data, utilizzare `date -d @epoch-millis +'%Y-%m-%d %H:%M:%S.%3N'`.
```
$ data -d @1593630600000 +'%Y-%m-%d %H:%M:%S.%3N'
```
Produzione:
```
2020-07-01 12:30:00.000
```
6. Ottieni la data e l'ora correnti in formato leggibile dalla macchina:
`date +%s%3N` visualizza i millisecondi dell'epoca, utile quando si confrontano due date.
```
$ data +%s%3N
```
Produzione:
```
1593633240539
```
7. Aggiungi o sottrai giorni dall'epoca:
`date -d @epoch-seconds +days` regola l'epoca in base al numero di giorni specificato. Ad esempio:
```
$ data -d @1593630600 +3 giorni
```
Produzione:
```
Gio 4 luglio 12:30:00 EDT 2020
```
8. Sottrai le date per calcolare la differenza:
Per calcolare la differenza tra due date, trova i secondi dell'epoca e sottrai. Per esempio:
```
$ ora_fine=$(data +%s)
$ ora_inizio=$(data -d "2019-07-01" +%s)
$ differenza_in_secondi=$(( ora_fine - ora_inizio ))
```
9. Aggiungi o sottrai intervalli di tempo:
Per aggiungere o sottrarre intervalli specifici come 5 ore e 30 minuti da una determinata epoca, utilizzare:
```
$ data -d @ 1593630600 +5 ore -30 minuti
```
Produzione:
```
Venerdì 2 luglio 12:00:00 EDT 2020
```
10. Contare la data fino all'evento futuro:
Per determinare quanto manca a una data specifica nel futuro, converti entrambe le date rilevanti in secondi di epoca e calcola la differenza. Ad esempio:
```
$ ora_fine=$(data -d "2021-12-25 00:00" +%s)
$ ora_inizio=$(data +%s)
$ secondi_fino_a_Natale=$(( fine_ora - inizio_ora ))
```
11. Conteggio delle date dall'evento passato:
Allo stesso modo, contare il numero di giorni trascorsi da un evento come un compleanno comporterebbe la sottrazione dei secondi epocali della data dell'evento dalla data corrente:
```
$ compleanno=$(data -d "1999-09-01" +%s)
$ ora_corrente=$(data +%s)
$ giorni_dal_compleanno=$(( (ora_corrente - compleanno)/(60*60*24) ))
```
12. Genera un'epoca casuale:
Per creare un timestamp casuale entro un intervallo di date specificato, utilizzare il seguente comando:
```
$ min_time=$(data -d "2019-07-01" +%s)
$ max_time=$(data -d "2020-07-31" +%s)
$ tempo_casuale=$(shuf -i $tempo_min-$tempo_max -n1)
$ data -d @$random_time
```
13. Converti intervalli di tempo leggibili dall'uomo in secondi:
Per semplificare i calcoli del tempo, converti gli intervalli di tempo leggibili dall'uomo in secondi utilizzando il calcolatore `expr`:
```
$ secondi_5_ore=$(espr 5 \* 60 \* 60)
$ data +%s -d "adesso - $seconds_5_hours secondi"
```
Ciò restituisce la data/ora corrente diminuita di 5 ore:
```
Ven 9 luglio 15:02:20 EDT 2021
```
Ricorda, quando si hanno a che fare con calcoli relativi al tempo, la selezione del fuso orario appropriato è fondamentale per garantire risultati accurati.
sistemi © www.354353.com