Ответ 1
Не знаю, как вы хотите отформатировать его, но вы можете сделать:
print("Created at %s:%s" % (t1.hour, t1.minute))
например.
Мне нужно извлечь время суток из объекта datetime.datetime, возвращаемого атрибутом created_at. Но я не понимаю, как это сделать. Это мой код для получения объекта 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
Мне нужно только извлечь час и минуты из t1.
Не знаю, как вы хотите отформатировать его, но вы можете сделать:
print("Created at %s:%s" % (t1.hour, t1.minute))
например.
Если время 11:03, тогда принятый ответ будет печатать 11: 3.
Вы можете пропустить минуты:
"Created at {:d}:{:02d}".format(tdate.hour, tdate.minute)
Или идите другим способом и используйте tdate.time()
и используйте только час/минуту:
str(tdate.time())[0:5]
Для этих вещей проще использовать временную метку, так как Tweepy получает оба
import datetime
print(datetime.datetime.fromtimestamp(int(t1)).strftime('%H:%M'))
datetime имеет поля hour
и minute
. Чтобы получить часы и минуты, вы должны использовать t1.hour
и t1.minute
.
Однако, когда вы вычитаете два времени, результатом является timedelta, который имеет только поля days
и seconds
. Таким образом, вам нужно будет разделить и размножить по мере необходимости, чтобы получить нужные вам номера.
У вас есть объект date.datetime, например, day_time = '2016-03-15 06:01:00'
тогда для получения времени используйте только:
time_only = time.strftime(format = '% H-% M-% S')
или получить только дату
date_only = time.strftime(format = '% Y-% m-% d')