python 中 datetime 的使用方法
介绍
所谓 datetime 其实就是 date + time, date 和 time的集合. 下面介绍使用方法, 常搭配logging记录日志.
date
from datetime import date
d = date(2019, 1, 1)
d.year # 展现日期的年份
d.month # 展现日期的月份
d.day # 展现日期的天
time
from datetime import time
t = time(9, 9, 9)
t.hour # 时
t.minute # 分
t.second # 秒
datetime
from datetime import datetime
dt = datetime(2019, 1, 1, 9, 9, 9) # 2019 年 1 月 1 日 9 点 9 分 9 秒
dt = datetime.now() # 展示本机 datetime
dt = datetime.utcnow() # 展示 utc 时间, 世界时间, 全球的时间都能根据时区转化成本机的时间
dt.year
dt.month
dt.day
dt.hour
dt.minute
dt.second
dt.microsecond # 微秒, 一般不使用
日期操作
from datetime import datetime, date
from from pd.tseries.offsets import Day, Hour, Minute
# 我们自己处理时间的时候, 对于时间边界难以处理
dt = datetime.utcnow()
dt = dt + Day(1) # 加 1 天
dt = dt + Hour(1) # 加 1 小时
d = datetime.date(dt) # 从 datetime 中 提取出 date 为
t = datetime.time(dt) # 从 datetime 中 提取出 time
dt2 = date(2020, 9, 14)
d = dt - dt2.
d.days # 查看两者相差多少天?
时间日期格式化
对于 datetime的展示格式, 我们通常不太满意, 可以配置为自己喜欢的格式.strftime配置参数, 实际上这个参数配置参数设置的不合理, 建议定义过一次后将其保存, 避免反复查找配置表
from datetime import datetime
dt = datetime.utcnow()
format_str = '%Y-%m-%d %H:%M:%S'
dt.strftime(format_str)
"""
上述配置的 时间展示格式如下:
'2020-09-12 08:32:44'
"""
logging 配合 时间格式化
logging使用教程
2. logging
import logging
# 配置日志 文件, 日志级别, 日志格式, 日期格式化格式
logging.basicConfig(filename='example.log',
level=logging.DEBUG,
format='%(asctime)s %(message)s',
datefmt='%m/%d/%Y %I:%M:%S %p')
logging.warning('is when this event was logged.') # 记录日志到文件
"""记录到文件中的结果如下:
12/12/2010 11:46:36 AM is when this event was logged.
"""