web-dev-qa-db-ja.com

datetime.datetimeオブジェクトから時間と分を抽出する方法は?

Created_at属性によって返されるdatetime.datetimeオブジェクトから時刻を抽出する必要があります。しかし、私はそれを行う方法を理解していません。これは、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から時間と分だけを抽出する必要があります。

25
Abhishek Sharma

どのようにフォーマットするかわかりませんが、次のことができます。

print("Created at %s:%s" % (t1.hour, t1.minute))

例えば。

48
afrendeiro

時間が11:の場合、受け入れられた回答は11:を出力します。

分をゼロで埋めることができます:

_"Created at {:d}:{:02d}".format(tdate.hour, tdate.minute)
_

または、別の方法でtdate.time()を使用し、時間/分の部分のみを使用します。

_str(tdate.time())[0:5]
_
18
shaneb

Tweepyは両方を取得するため、この事柄のタイムスタンプを使用する方が簡単です

import datetime
print(datetime.datetime.fromtimestamp(int(t1)).strftime('%H:%M')

datetimeには、hourおよびminuteフィールドがあります。したがって、時間と分を取得するには、t1.hourおよびt1.minute

ただし、2つの日付時刻を減算すると、結果はtimedeltaになり、daysおよびsecondsフィールドのみが含まれます。したがって、必要な数値を得るために、必要に応じて除算と乗算を行う必要があります。

6
Liam Kirsh