时间模块 - DataTime
年 , 月 , 日 , 时 , 分 , 秒
import datetime as dt #用于对 时间 的处理
创建日期
today = dt.date.today() # 今天的日期 print(today ,type(today)) # 日期和类型
创建一个日期 :
someday = dt.date(2020,10,10)
获取当前日期的准确时间 :
today = dt.datetime.today()
# ↑ datetime.datetime 对象,方法
还可以构建 时 分 秒 一般这样构建就可以了 : ↓
time1 = dt.datetime(2018,8,18)
time2 = dt.datetime(2018,8,20,12,30,30)
timedelta 时间间隔 时间可以相互运算 :
print(t2-t1)
# ↑ datetime.timedelta 对象
一般拿到的时间 ,是字符串类型 ,那么如何将它转换为时间对象呢?
## 字符串--> 时间对象
from dateutil.parser import parse date = '26-10-2020' time = parse(date) pinrt(time,type(time))
# ↑↑ parse 对大部分日期类型格式都支持,自动转化.解析. 前提是日期,否则报错!
网络&资源 :
Python利用datetime模块计算时间差、当前时间多加一天、一小时、一分钟和常用操作
# datetime 的一些常用操作 In [1]: from datetime import datetime In [2]: aa = datetime.now() In [3]: aa Out[3]: datetime.datetime(2017, 10, 9, 16, 28, 11, 984000) In [4]: bb = datetime.now() In [5]: bb Out[5]: datetime.datetime(2017, 10, 9, 16, 28, 50, 802000) In [6]: str(aa) Out[6]: '2017-10-09 16:28:11.984000' In [9]: datetime.strptime(str(aa),"%Y-%m-%d %H:%M:%S.%f") Out[9]: datetime.datetime(2017, 10, 9, 16, 28, 11, 984000) In [10]: bb-aa Out[10]: datetime.timedelta(0, 38, 818000) In [11]: (bb-aa).seconds Out[11]: 38 In [12]: (bb-aa).total_seconds Out[12]: <function total_seconds> In [13]: (bb-aa).days Out[13]: 0 # 字符串格式转换datetime日期格式 In [13]: datetime.datetime.strptime('2017-10-11', '%Y-%m-%d') Out[13]: datetime.datetime(2017, 10, 11, 0, 0) # datetime日期格式转换成字符串 In [26]: today = datetime.datetime.now() In [27]: datetime.datetime.strftime(today, '%Y-%m-%d') Out[27]: '2017-10-12' # 计算两个日期相差的天数 In [13]: (bb-aa).days Out[13]: 0 # 计算两个日期相差的秒数 In [11]: (bb-aa).seconds Out[11]: 38 In [12]: (bb-aa).total_seconds Out[12]: <function total_seconds> # 多加一天 In [49]: datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') Out[49]: '2017-10-12 15:52:09' In [50]: (datetime.datetime.now()+datetime.timedelta(days=1)).strftime('%Y-%m-%d %H: ...: %M:%S') Out[50]: '2017-10-13 15:52:15' # 多加一小时 In [45]: datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') Out[45]: '2017-10-12 15:50:54' In [46]: (datetime.datetime.now()+datetime.timedelta(hours=1)).strftime('%Y-%m-%d %H ...: :%M:%S') Out[46]: '2017-10-12 16:50:56' # 多加一分钟 In [51]: datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') Out[51]: '2017-10-12 15:54:13' In [52]: (datetime.datetime.now()+datetime.timedelta(minutes=1)).strftime('%Y-%m-%d ...: %H:%M:%S') Out[52]: '2017-10-12 15:55:30'