Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza del computer >> sistemi >> Linux >> .

Come convertire/modificare l'epoca temporale utilizzando l'utilità data su un server Linux o Unix{13 migliori esempi}

Tecniche di conversione epocale:

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

```

Ecco 13 migliori esempi di conversione o modifica dell'epoca temporale utilizzando l'utilità data su Linux o Unix:

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