web-dev-qa-db-fra.com

Comment extraire les heures et les minutes d'un objet datetime.datetime?

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.

25
Abhishek Sharma

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.

48
afrendeiro

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]
18
shaneb

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')
9

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.

6
Liam Kirsh