Python Converti Datetime in Epoch

Vaibhhav Khetarpal 22 giugno 2021
  1. Usa il metodo esplicito per convertire Datetime in Epoch in Python
  2. Usa la funzione timestamp() per convertire Datetime in Epoch in Python
  3. Usa la funzione strftime(format) per convertire Datetime in Epoch in Python
  4. Usa la funzione timegm per convertire DateTime in Epoch in Python
Python Converti Datetime in Epoch

La libreria datetime può essere importata in un programma Python. Fornisce classi utilizzate per manipolare la data e l’ora nel codice Python.

Epoch è il punto di partenza della misurazione del tempo trascorso, e il suo valore solitamente varia e dipende dalla piattaforma utilizzata.

Questo tutorial discuterà diversi metodi per convertire datetime in epoch in Python.

Usa il metodo esplicito per convertire Datetime in Epoch in Python

In questo metodo, prendiamo la data corrente e la sottraiamo manualmente dalla data di inizio e poi la convertiamo in secondi utilizzando la funzione total_seconds() e visualizzandola.

La data iniziale qui è 1970/1/1.

Il codice seguente usa il metodo esplicito per convertire datetime in epoch in Python.

import datetime

ts = (
    datetime.datetime(2019, 12, 1, 0, 0) - datetime.datetime(1970, 1, 1)
).total_seconds()
print(ts)

Produzione:

1575158400.0

Usa la funzione timestamp() per convertire Datetime in Epoch in Python

Un Timestamp è una serie di caratteri che determina il valore di quando si è verificato un particolare evento.

Python fornisce una funzione timestamp(), che può essere usata per ottenere il timestamp di datetime dall’epoca.

Il codice seguente utilizza la funzione timestamp() per convertire datetime in epoch in Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).timestamp()
print(ts)

Produzione:

1575158400.0

Questo è un metodo abbastanza semplice e ci fornisce risultati accurati.

Nota che la funzione timestamp() funziona solo su Python 3.3+ e non è applicabile per l’uso nelle versioni precedenti di Python.

Usa la funzione strftime(format) per convertire Datetime in Epoch in Python

Il metodo strftime(format) viene utilizzato per convertire un oggetto in una stringa basata sul formato specificato dall’utente.

Per il contrario di questo processo, viene utilizzato il metodo strptime().

Il codice seguente utilizza il metodo strftime(format) per convertire datetime in epoch in Python.

import datetime

ts = datetime.datetime(2019, 12, 1, 0, 0).strftime("%s")
print(ts)

Produzione:

1575158400

strftime(format) potrebbe non fornire sempre la soluzione corretta. Questo metodo usa la direttiva %s come argomento di strftime, che Python in realtà non supporta. Potrebbe funzionare perché Python inoltra %s al metodo strftime del sistema.

Questo metodo non è il metodo più accurato per la conversione di datetime in epoch. Non è consigliabile utilizzare questo metodo semplicemente perché esistono metodi migliori e più accurati.

Usa la funzione timegm per convertire DateTime in Epoch in Python

La funzione timegm() accetta un valore temporale specifico e restituisce il valore di timestamp Unix corrispondente. L’epoca è considerata il 1970 e si presume la codifica POSIX. Le funzioni time.gmtime() e timegm() sono inverse l’una dell’altra.

Entrambe le librerie calendar e time devono essere importate nel programma Python per usare queste funzioni.

Il modulo calendar ci fornisce la possibilità di produrre calendari e alcune funzioni aggiuntive e utili ad esso correlate.

Il codice seguente utilizza la funzione timegm() per convertire il datetime in epoch.

import datetime
import calendar

d = datetime.datetime(2019, 12, 1, 0, 0)
print(calendar.timegm(d.timetuple()))

Produzione:

1575158400
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Articolo correlato - Python DateTime