前言
date(日期)是工作中经常会用到的一个功能,这篇文章会记录下自己平时遇到使用date的一些场景
一、打印日志log
使用log记录代码运行过程,肯定是需要日期和具体时间的。
date设置在format的asctimes参数,默认格式就是例如:2023-07-10 16:58:39,094
代码如下(示例):
import logging
logging.basicConfig(filename='2.txt',level=logging.INFO,format='%(asctime)s - %(levelname)s : %(message)s')
logging.info("追踪程序运行过程")
logging.info("程序开始")
def fac(n):
logging.info("{}计算开始".format(n))
ans=1
for i in range(1,n+1):
ans += i
logging.info('i={},ans={}'.format(i,ans))
return ans
print(fac(5))
logging.info("程序结束")
# 输出以下内容:
2023-07-10 16:58:39,094 - INFO : 追踪程序运行过程
2023-07-10 16:58:39,095 - INFO : 程序开始
2023-07-10 16:58:39,095 - INFO : 5计算开始
2023-07-10 16:58:39,095 - INFO : i=1,ans=2
2023-07-10 16:58:39,095 - INFO : i=2,ans=4
2023-07-10 16:58:39,095 - INFO : i=3,ans=7
2023-07-10 16:58:39,095 - INFO : i=4,ans=11
2023-07-10 16:58:39,095 - INFO : i=5,ans=16
2023-07-10 16:58:39,095 - INFO : 程序结束
当然也可以自己定义日期格式,如:
formatter = logging.Formatter(‘[%(asctime)s] - [%(name)s] -[%(levelname)s]- %(message)s’, ‘%Y-%m-%d %H:%M:%S’)
那么日期格式就是[2023-07-11 10:24:30]
二、命名文件夹
当我们要多次运行代码,多次保存时,将日期作为文件夹的命名是一个很好的选择(不会出现命名重复)。
time包有许多关于时间的功能,当想用日期来作为文件夹的命名时,需要将日期转为字符串的形式,可使用time.strftime()函数
代码如下(示例):
import time
date1 = time.strftime("%m%d%H%M", time.localtime()) # 从本地时间中获取月份、日期、小时、分钟
date2 = time.strftime("%Y%m%d%H%M", time.localtime())# 从本地时间中获取年份、月份、日期、小时、分钟
print(date1) # 输出字符串:07181407
print(date2) # 输出字符串:202307181407