一、打印当前日期

        import time

        time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())

        最常用的日期转换,打印当前时间,或获取当前时间输出字符串,UI自动化常用

        time.strptime('2022-12-18 17:14:44','%Y-%m-%d %H:%M:%S') 日期字符串转换为time.struct_time类型数据,

        一般用于一个标准格式的time_str 转换成另一个标准格式的time_str的中间日期格式过渡

        参数见最后

二、日期的加减运算

        import datetime

        from dateutil.relativedelta import relativedelta as rel

        now_str = datetime.datetime.now().strftime("%Y-%m-%d") # 当前时间转换为字符串格式

        now_date = datetime.datetime.strptime(now_str,"%Y-%m-%d")  # 字符串格式转datetime

        date_time = now_date+rel(years=+1,months=-2,days=+3) # 参数都是复数形式,单身形式不是计算,是赋值;参数值可正可负

        一般情况下,通过python读取数据库取出的日期格式,都是datetime类型,可以直接进行运算和字符串格式转换

参数: 

%a 星期几的简写  Mon / Tue / Wed / Thu / Fri / Sat / Sun
%A 星期几的全称  Monday / Tuesday / Wednesday / Thursday / Friday / Saturday / Sunday

%b 月分的简写  Jan / Feb / Mar / Apr / May / Jun / Jul / Aug / Sep / Oct / Nov / Dec
%B 月份的全称  January / February / March / April / May / June / July / September / October / November / December

%c 标准的日期的时间串  Sun Dec 18 15:14:44 2022
%C 年份的后两位数字(我的输入年是2022,但是返回的结果是20???)

%d 十进制表示的每月的第几天  (常用)
%D 月/天/年   12/18/22

%e 在两字符域中,十进制表示的每月的第几天  (没看出和%d的区别???)
%F 年-月-日  2022-12-18

%g 年份的后两位数字,使用基于周的年   22
%G 年分,使用基于周的年  2022

%h 简写的月份名  (和%b有啥区别?)
%H 24小时制的小时(常用)

%I 12小时制的小时  03  只转换成12小时制表示,没有am 或pm标识,和%p共同使用
%j 十进制表示的每年的第几天 

%m 十进制表示的月份  (常用)
%M 十时制表示的分钟数 (常用)

%n 新行符  换行
%p 本地的AM或PM的等价显示 这个和%I共同使用效果更佳

%r 12小时的时间  05:14:44 PM  (相当于%I:%M:%S %p的格式)
%R 显示小时和分钟:hh:mm  17:14

%S 十进制的秒数  (常用)

%t 水平制表符  (得,和%n凑一对)
%T 显示时分秒:hh:mm:ss    17:14:44(常用)

%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)  (实测python3.8值从1到7,星期一为1)
%U 第年的第几周,把星期日做为第一天(值从0到53) 

%w 十进制表示的星期几(值从0到6,星期天为0)  
%W 每年的第几周,把星期一做为第一天(值从0到53)

%x 标准的日期串  12/18/22   (和%D有啥区别???)
%X 标准的时间串  17:14:44   (和%T有啥区别???)

%y 不带世纪的十进制年份(值从0到99)  
%Y 带世纪部分的十制年份(常用)