如何将time.asctime字符串转换为相对时间(例如40分钟前)

2024-10-04 11:23:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用git python生成了一个时间字符串:

for com in git.Repo().iter_commits():
    print(time.asctime(time.localtime(com.committed_date)))

有没有可能达到像相对时间戳这样的效果,比如我可以使用git日志的一些漂亮的格式从git日志中获得

19b9451 - naming (6 hours ago) <myname>

产生于

 git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

看起来有点人性化,但找不到简单的方法正在寻找一种惯用的方法来实现这一点。我想我可以破解datetime的许多函数,但如果可能的话,我更喜欢简单的一行程序解决方案


Tags: 方法字符串ingitcomfortime时间
1条回答
网友
1楼 · 发布于 2024-10-04 11:23:43

逻辑:

  1. 将字符串转换为datetime.datetime对象
  2. 获取当前的datetime.datetime对象。线索:寻找now
  3. 减去这两个对象以获得datetime.timedelta对象
  4. 环绕datetime.timedelta对象
  5. 打印结果

如果您在尝试遵循我的步骤时发现问题,请发布您的代码,我们将帮助您

相关问题 更多 >