You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django中使用Tweepy从Twitter API提取created_at字段的时间部分

提取Twitter created_at字段中的时间部分

嘿,这个需求在Twitter数据处理里挺常见的,我给你两种实用的思路,适配你在Django+Tweepy的开发场景:

方法一:直接字符串分割(简单高效)

Twitter返回的created_at格式是固定的,按空格拆分后,时间部分刚好是第4个元素(索引为3),直接提取就行:

# 假设你通过Tweepy获取到的推文数据是tweet对象
# 如果tweet.created_at是字符串类型(比如从JSON响应中直接取)
created_at_str = tweet.created_at  # 或者 response.get("created_at")
# 按空格分割字符串,取索引3的元素
time_part = created_at_str.split()[3]
# 现在time_part就是你要的"17:21:03",可以直接存到变量里使用
print(time_part)

这种方法的优点是代码简洁、速度快,适合格式完全固定的场景。

方法二:用datetime模块解析(更健壮)

如果之后你可能需要对时间做更多操作(比如时区转换、格式调整),用datetime模块解析会更靠谱,也能避免格式意外变动带来的问题:

from datetime import datetime

# 拿到created_at字符串
created_at_str = "Mon Aug 27 17:21:03 +0000 2012"
# 按照Twitter的格式解析成datetime对象
dt_obj = datetime.strptime(created_at_str, "%a %b %d %H:%M:%S %z %Y")
# 提取时间部分并格式化为HH:MM:SS
time_part = dt_obj.strftime("%H:%M:%S")
# 同样得到目标时间字符串
print(time_part)

在Django中,如果你要把这个时间存到模型的TimeField字段里,还可以直接用dt_obj.time()获取datetime.time类型的对象,直接赋值给模型字段即可:

# 假设你的模型是Tweet,有个time_posted字段是TimeField
from myapp.models import Tweet

new_tweet = Tweet(
    # 其他字段...
    time_posted=dt_obj.time()
)
new_tweet.save()

内容的提问来源于stack exchange,提问作者Adam Dalton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:10:33