繁体   English   中英

从 Python 中的 getctime 和 getmtime 中提取每年、月、日、年

[英]Extract each year, month, day, year from getctime , getmtime in Python

我想从下面的值中分别提取年月日小时分钟。

import os, time, os.path, datetime

date_of_created = time.ctime(os.path.getctime(folderName))
date_of_modi = time.ctime(os.path.getmtime(folderName))

现在我只能得到如下 'Thu Dec 26 19:21:37 2019' 但我想分别获得 2019 年的值 // 十二月(我可以把它作为整数吗??)// 每个 26

我想从 date_of_created 和 date_of_modi 中提取每年月日每次最小值我能得到吗? 在蟒蛇?

您可以将字符串转换为日期时间对象:

from datetime import datetime
date_of_created = datetime.strptime(time.ctime(os.path.getctime(folderName)), "%a %b %d %H:%M:%S %Y") # Convert string to date format
print("Date created year: {} , month: {} , day: {}".format(str(date_of_created.year),str(date_of_created.month),str(date_of_created.day)))
 time.ctime([secs])

将自纪元以来以秒表示的时间转换为以下形式的字符串: 'Sun Jun 20 23:21:05 1993' 表示当地时间。

如果那不是你想要的……用别的东西? time.getmtime将返回一个struct_time ,它应该具有相关字段,或者对于更现代的界面,使用datetime.datetime.fromtimestamp ......从 UNIX 时间戳返回一个datetime对象。

此外,使用stat可能会更有效,因为 ctime 和 mtime 可能会在内部分别执行stat调用。

您可以使用 datetime 模块,更具体地说是 datetime 模块中的fromtimestamp()函数来获得您所期望的。

import os, time, os.path, datetime

date_of_created = datetime.datetime.fromtimestamp(os.path.getctime(my_repo))
date_of_modi = datetime.datetime.fromtimestamp(os.path.getmtime(my_repo))

print(date_of_created.strftime("%Y"))

对于 2020 年创建的回购,输出将是2020年。

所有格式均可在此链接中找到

time.ctime函数以string形式返回本地时间。 您可能想要使用time.localtime函数,该函数返回一个struct_time对象,其中包含您要查找的信息。 例如,

import os, time

date_created_string = time.ctime(os.path.getctime('/home/b-fg/Downloads'))
date_created_obj = time.localtime(os.path.getctime('/home/b-fg/Downloads'))
print(date_created_string) # Mon Feb 10 09:41:03 2020
print('Year: {:4d}'.format(date_created_obj.tm_year)) # Year: 2020
print('Month: {:2d}'.format(date_created_obj.tm_mon)) # Month:  2
print('Day: {:2d}'.format(date_created_obj.tm_mday)) # Day: 10

请注意,根据要求,这些是integer数值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM