如何将 "getctime()" 和 "getmtime()" 的输出转换为 HTML 的 "published_time" 和 "modified_time" META 标签所需的时间格式?
How do I convert the output of "getctime()" and "getmtime()" into the time format required by HTML's "published_time" and "modified_time" META tags?
我网站的文章是用.md
个文件写的,为了获取这些文件的创建和修改时间我使用os.path.getctime()
和os.path.getmtime()
方法。
这些方法的输出如下所示:
1553541590.723329
1553541590.723329
虽然 HTML 需要这种格式:
2001-09-17T05:59:00+01:00
2013-09-16T19:08:47+01:00
关于这件事我有两个问题:
- 这两种时间格式的名称是什么?
- 如何将这些方法的输出更改为所需的 HTML 格式?
谢谢。
1) os.path 文档表明 os.path.getctime()
和 os.path.getmtime()
return 都是一个浮点数,表示自纪元以来的秒数。这似乎与您得到的数字一致。
2) 最简单的方法是转换为一个对象来表示日期,然后提供您想要的格式。在这里,我使用 datetime 和 strftime()
来输出所需格式的字符串。
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'
您可能会发现最简单的方法是在末尾添加时区字符串,因为将时区添加到日期时间对象有点复杂。如果你确实想完成它,你需要创建一个 tzinfo
对象并使用它来更新 datetime.astimezone(tz)
对象的 datetime
。这是 adding a timezone to a datetime object.
的一个很好的资源
我网站的文章是用.md
个文件写的,为了获取这些文件的创建和修改时间我使用os.path.getctime()
和os.path.getmtime()
方法。
这些方法的输出如下所示:
1553541590.723329
1553541590.723329
虽然 HTML 需要这种格式:
2001-09-17T05:59:00+01:00
2013-09-16T19:08:47+01:00
关于这件事我有两个问题:
- 这两种时间格式的名称是什么?
- 如何将这些方法的输出更改为所需的 HTML 格式?
谢谢。
1) os.path 文档表明 os.path.getctime()
和 os.path.getmtime()
return 都是一个浮点数,表示自纪元以来的秒数。这似乎与您得到的数字一致。
2) 最简单的方法是转换为一个对象来表示日期,然后提供您想要的格式。在这里,我使用 datetime 和 strftime()
来输出所需格式的字符串。
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'
您可能会发现最简单的方法是在末尾添加时区字符串,因为将时区添加到日期时间对象有点复杂。如果你确实想完成它,你需要创建一个 tzinfo
对象并使用它来更新 datetime.astimezone(tz)
对象的 datetime
。这是 adding a timezone to a datetime object.