python - part - ¿Cómo extraer horas y minutos de un objeto datetime.datetime?
twitter python (4)
Debo extraer la hora del día del objeto datetime.datetime devuelto por el atributo created_at. Pero no entiendo cómo hacerlo. Este es mi código para obtener el objeto 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
Sólo necesito extraer la hora y los minutos de t1.
Es más fácil usar la marca de tiempo para estas cosas, ya que Tweepy obtiene ambas
import datetime
print(datetime.datetime.fromtimestamp(int(t1)).strftime(''%H:%M'')
No sé cómo quieres formatearlo, pero puedes hacerlo:
print("Created at %s:%s" % (t1.hour, t1.minute))
por ejemplo.
Si la hora es 11:03 , la respuesta aceptada se imprimirá 11: 3 .
Podrías poner a cero los minutos:
"Created at {:d}:{:02d}".format(tdate.hour, tdate.minute)
O vaya de otra manera y use tdate.time()
y tome solo la parte de la hora / minuto:
str(tdate.time())[0:5]
datetime tiene campos hour
y minute
. Entonces, para obtener las horas y los minutos, debe usar t1.hour
y t1.minute
.
Sin embargo, cuando restas dos tiempos de datos, el resultado es un timedelta, que solo tiene los campos days
y seconds
. Por lo tanto, deberá dividir y multiplicar según sea necesario para obtener los números que necesita.