首页 > 解决方案 > 如何将“getctime()”和“getmtime()”的输出转换为 HTML 的“published_time”和“modified_time”META 标签所需的时间格式?

问题描述

我网站的文章是使用.md文件编写的,为了获取这些文件的创建和修改时间,我使用os.path.getctime()os.path.getmtime()方法。

这些方法的输出如下所示:

虽然 HTML 需要这种格式:

关于这个问题,我有两个问题:

  1. 这两种时间格式的名称是什么?
  2. 如何将这些方法的输出更改为所需的 HTML 格式?

谢谢。

标签: pythonhtmlpython-3.xtimetime-format

解决方案


1) os.path文档表明两者都os.path.getctime()返回os.path.getmtime()一个浮点数,表示自纪元以来的秒数。这似乎与您获得的数字一致。

2) 最简单的方法是转换为对象来表示日期,然后提供您想要的格式。在这里,我使用datetime withstrftime()来输出所需格式的字符串。

import datetime

>>>> datetime.datetime.fromtimestamp(1553541590.723329)
datetime.datetime(2019, 3, 25, 12, 19, 50, 723329)

>>>> datetime.datetime.fromtimestamp(1553541590.723329).strftime('%Y-%m-%dT%H:%M:%S')
'2019-03-25T12:19:50'

您可能会发现在末尾添加时区字符串是最简单的,因为向 datetime 对象添加时区有点复杂。如果您确实想使用它,您需要创建一个tzinfo对象并使用它来datetime使用datetime.astimezone(tz). 这是将时区添加到日期时间对象的一个​​很好的资源。


推荐阅读