Python时间转换

2024-05-03 07:50:09 发布

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

将ctime字符串转换为%Y-%m-%d格式时遇到问题。在

fileobject = "C:\\foo\\bar.txt"
filetime = time.ctime(os.path.getctime(fileobject))

print filetime
Wed Feb 03 11:02:38 2016

现在我只想转换成YYYY-MM-DD。有什么建议吗?我对传统的重新格式化不太在行


Tags: path字符串txtfootimeos格式bar
3条回答

^{}^{}一起使用,而不是使用time.ctime

>>> print time.strftime("%Y-%m-%d", time.localtime(os.path.getctime(fileobject)))
2015-10-20

我不会告诉您我使用的文件,所以输出会有所不同。在

您应该避免使用"Yo-Yo code"直接将文件时间格式化为所需的格式,而不必先使用ctime()将其转换为字符串:

#!/usr/bin/env python
import os
from datetime import datetime

filename = r"C:\foo\bar.txt"
dt = datetime.fromtimestamp(os.path.getmtime(filename))
print(dt.date())
# -> 2016-02-03

如果您从外部源接收到ctime()格式的时间字符串,那么您可以使用^{} stdlib package解析此(asctime())日期/时间格式:

^{pr2}$

通常,use ^{}将字符串转换为日期时间对象。见Converting string into datetime。在

filetime是一个字符串。这意味着您可以使用^{}来解析它。在

cdt = time.strptime(filetime, "%a %b %d %H:%M:%S %Y")

此时,cdt是一个^{}对象,您可以这样操作它。在

^{pr2}$

相关问题 更多 >