26

我正在尝试以 mm/dd/yyyy 格式获取文件上的日期戳

time.ctime(os.path.getmtime(file))

给我详细的时间戳Fri Jun 07 16:54:31 2013

如何将输出显示为06/07/2013

4

3 回答 3

49

你想用来time.strftime()格式化时间戳;首先使用time.gmtime()or将其转换为时间元组time.localtime()

time.strftime('%m/%d/%Y', time.gmtime(os.path.getmtime(file)))
于 2013-06-08T00:17:40.870 回答
4
from datetime import datetime
from os.path import getmtime

datetime.fromtimestamp(getmtime(file)).strftime('%m/%d/%Y')
于 2016-11-08T14:33:37.680 回答
1

您可以像您提到的那样使用ctime str创建日期时间对象,然后将其格式化回任何格式的字符串。

str1 = time.ctime(os.path.getmtime(file)) # Fri Jun 07 16:54:31 2013
datetime_object = datetime.strptime(str1, '%a %b %d %H:%M:%S %Y')
datetime_object.strftime("%m/%d/%Y") # 06/07/2013

这样您就不必处理来自 Epoch 的时区 + 绝对时间戳

信用:将字符串转换为日期时间

链接:如何在 Python 中获取文件创建和修改日期/时间?

http://strftime.org/

于 2018-01-18T00:08:25.843 回答