2017-01-17 2 views
3

J'utilise tweepy pour obtenir un tweet. J'essaie d'envoyer ce tweet sur Slack. Tweepy donne l'heure dans un format étrange, et Slack exige l'heure à l'époque.Conversion de l'heure en époque (Python)

for i in tweets: 
    created=(i.created_at) 
    print(created) 
    print(created.strftime('%s')) 

Ce retour

2017-01-17 14:36:26 

Traceback (most recent call last): 
File "C:\Users\Administrator\Desktop\slackbot3\run.py", line 287, in main 
print(created.strftime('%s')) 
ValueError: Invalid format string 

Comment puis-je obtenir 17/01/2017 14:36:26 dans le temps de l'époque?

+0

je pense, est un doublon à cette question: http://stackoverflow.com/questions/9637838/convert-string-date-to-timestamp-in-python – BloodyD

+0

Si 'created_at' est un objet' datetime', il existe d'autres questions qui résolvent votre problème: https://stackoverflow.com/questions/6999726/ho w-can-i-convert-a-datetime-object-to-millisecondes-depuis-epoch-unix-time-in-p – jdehesa

+0

@jdehesa Ne ressemble pas à _datetime_objet - ressemble à une chaîne – volcano

Répondre

2

Vous devez convertir la chaîne en un temps -par spécification appropriée, puis l'heure en EPOCH. En Python, il est un peu maladroit

import time 
time_tuple = time.strptime('2017-01-17 14:36:26', '%Y-%m-%d %H:%M:%S') 
time_epoch = time.mktime(time_tuple) 

Le résultat est 1484656586,0

0

Je ne sais pas le type de created mais cela devrait fonctionner:

from datetime import datetime 

print(datetime.strptime(str(created), '%Y-%m-%d %H:%M:%S').strftime('%s'))