python - 如何从 tweet.create_at 获取标准日期时间
问题描述
我正在我的项目中实现 tweepy api,并且我试图获取使用 tweet.created_at 创建推文的时间。它返回一组数字,而不是官方 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 see as you fresh like todays boli", "len":35, "Date":1588602936000, "Source":"Twitter for Android", "Likes":0, "RTs":0 }, {"text":"b", "len":1, "Date":1588598786000, "Source":"Android 版 Twitter", "赞":1, "RTs":0}, {"text" :"b", "len":1, "日期":1588597919000, "来源":"Android 版 Twitter", "赞":1, "RTs":0},]
我试图将日期作为标准日期时间(“Wed May 23 06:01:13 +0000 2007”,)而不是显示的那些数字集(1588598786000)。
解决方案
该数字是以毫秒为单位的 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'
推荐阅读
- html - 基于百分比的列/行跨度
- java - 使用版本作为部分主键,如何获取给定 id 的实体的最新版本?
- python - Python正则表达式检测字符串后面的多个可选子字符串之一
- ndepend - 为 NDepend 创建自定义扩展
- javascript - 如何找到函数所在的文件名?
- visual-studio-code - 如何在 Visual Studio Code 中使用 gltf 动画扩展?
- jquery - Jquery标头加载不显示菜单
- php - 在codeigniter库函数中如何调用同一个库的另一个函数
- java - 静态变量与静态方法和静态类有什么区别?
- asp.net-core - 如何在主/从 redis 设置上负载平衡读取?