Je suis tenu d'extraire l'heure du jour de l'objet datetime.datetime renvoyé par l'attribut created_at. Mais je ne comprends pas comment faire cela. Ceci est mon code pour obtenir l'objet datetime.datetime.
from datetime import *
import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)
tweets = tweepy.Cursor(api.home_timeline).items(limit = 2)
t1 = datetime.strptime('Wed Jun 01 12:53:42 +0000 2011','%a %b %d %H:%M:%S +0000 %Y')
for Tweet in tweets:
print (Tweet.created_at-t1)
t1 = Tweet.created_at
Je n'ai besoin que d'extraire l'heure et les minutes de t1.
Je ne sais pas comment vous voulez le formater, mais vous pouvez le faire:
print("Created at %s:%s" % (t1.hour, t1.minute))
par exemple.
Si le temps est 11:, la réponse acceptée sera imprimée 11:.
Vous pouvez mettre les minutes à zéro:
"Created at {:d}:{:02d}".format(tdate.hour, tdate.minute)
Ou bien, utilisez tdate.time()
et prenez seulement la partie heure/minute:
str(tdate.time())[0:5]
Il est plus facile d'utiliser l'horodatage pour ces choses puisque Tweepy a les deux
import datetime
print(datetime.datetime.fromtimestamp(int(t1)).strftime('%H:%M')
date-heure a les champs hour
et minute
. Donc, pour obtenir les heures et les minutes, vous utiliseriez t1.hour
et t1.minute
.
Cependant, lorsque vous soustrayez deux dates-heures, le résultat est un timedelta, qui ne contient que les champs days
et seconds
. Il vous faudra donc diviser et multiplier autant que nécessaire pour obtenir les chiffres dont vous avez besoin.