如何从tweet.create_at获取标准日期时间?

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

我在我的项目中实现了tweepy api,我试图使用tweet.created_at来获取一条tweet的创建时间。它返回的是一组Number,而不是twitter官方API文档中显示的实际日期字符串。以下是获取数据的代码。

 for tweet in tweepy.Cursor(tweet_api.search, q=user, count=200,
                           lang="en").items(4000):

    if re.match(pattern, tweet.text):
        continue
    tweet_d.append(tweet)

data["text"] = [clean_tweet(tweet.text) for tweet in tweet_d]
data["len"] = [len(clean_tweet(tweet.text)) for tweet in tweet_d]
data["Date"] = [tweet.created_at for tweet in tweet_d]
data['Source'] = [tweet.source for tweet in tweet_d]
data['Likes'] = [tweet.favorite_count for tweet in tweet_d]
data['RTs'] = [tweet.retweet_count for tweet in tweet_d]

下面是打印出来的Array对象

[{"text": "b看你新鲜喜欢今天的boli", "len":35, "Date":1588602936000, "Source": "Twitter for Android", "Like":0, "RTs":0}, {"text": "b", "len":1, "Date": 1588598786000, "来源": "Twitter for Android", "赞":1, "RTs":0}, {"text": "b", "len":1, "Date":1588597919000, "来源": "Twitter for Android", "赞":1, "RTs":0}, ]

我试图用标准的datetime("Wed May 23 06:01:13 +0000 2007",)来获取Date,而不是那些显示的数字集(1588598786000)。

python flask twitter tweepy python-datetime
1个回答
0
投票

这个数字是一个UNIX时间戳,单位是毫秒。

除以1000得到秒,然后传给 datetime.datetime.fromtimestamp():

>>> import datetime
>>> t = datetime.datetime.fromtimestamp(1588602936000 / 1000)
datetime.datetime(2020, 5, 4, 17, 35, 36)
>>> t.isoformat()
'2020-05-04T17:35:36'
© www.soinside.com 2019 - 2024. All rights reserved.