Pour la date spéciale du 1er janvier 1970, il existe plusieurs options.
Pour toute autre date de départ, vous devez obtenir la différence entre les deux dates en secondes. En soustrayant deux dates, on obtient timedelta
qui, à partir de Python 2.7, possède un objet total_seconds()
fonction.
>>> (t-datetime.datetime(1970,1,1)).total_seconds()
1256083200.0
La date de départ est généralement spécifiée en UTC, donc pour obtenir des résultats corrects, il faut utiliser la méthode suivante datetime
que vous nourrissez dans cette formule devrait être dans UTC aussi. Si votre datetime
n'est pas déjà en UTC, vous devrez le convertir avant de l'utiliser, ou attacher un fichier tzinfo
qui a le bon décalage.
Comme indiqué dans les commentaires, si vous avez une tzinfo
attaché à votre datetime
alors vous devez en ajouter un à la date de début, sinon la soustraction échouera ; pour l'exemple ci-dessus, j'ajouterais tzinfo=pytz.utc
si vous utilisez Python 2 ou tzinfo=timezone.utc
si vous utilisez Python 3.
0 votes
Liés : Convertir
datetime.date
en timestamp UTC en Python2 votes
Je convertirais probablement les deux en S depuis l'époque et je partirais de là :
int(t.timestamp())
0 votes
Pour l'opération inverse, allez ici : convertir les secondes écoulées depuis l'époque en un objet de temps de données