如何从 datetime.datetime 对象中提取小时和分钟?

问题描述 投票:0回答:6

我需要从 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
中提取小时和分钟。

python datetime twitter tweepy
6个回答
158
投票

我不知道你想如何格式化它,但你可以这样做:

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

例如。


59
投票

如果时间是11:03,那么afrendeiro的答案将打印11:3

您可以将分钟补零:

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

或者换个方式使用

tdate.time()
并只取小时/分钟部分:

str(tdate.time())[0:5]

44
投票
import datetime
    
YEAR        = datetime.date.today().year     # the current year
MONTH       = datetime.date.today().month    # the current month
DATE        = datetime.date.today().day      # the current day
HOUR        = datetime.datetime.now().hour   # the current hour
MINUTE      = datetime.datetime.now().minute # the current minute
SECONDS     = datetime.datetime.now().second #the current second
    
print(YEAR, MONTH, DATE, HOUR, MINUTE, SECONDS)
2021 3 11 19 20 57

26
投票

使用时间戳来处理这些事情会更容易,因为 Tweepy 两者兼而有之:

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

11
投票

datetime 具有字段

hour
minute
。因此,要获取小时和分钟,您可以使用
t1.hour
t1.minute

但是,当您减去两个日期时间时,结果是一个 timedelta,其中只有

days
seconds
字段。因此,您需要根据需要进行除法和乘法以获得所需的数字。


0
投票

对@afrendeiro 已经回答的问题进行了改进

print(f"Created at {t1.hour}:{t1.minute}"

© www.soinside.com 2019 - 2024. All rights reserved.