随笔记录——python中的日期和时间数据处理

一、标准库中的日期和时间处理
1、使用datetime包计算时间
1.1 使用datetime包获取当前时间
from datetime import datetime

now = datetime.now()

now
Out[3]: datetime.datetime(2022, 3, 4, 17, 16, 55, 703231)

now.year, now.month, now.day
Out[4]: (2022, 3, 4)
1.2、计算两个datetime的时间差
delta = datetime(2021, 1, 7) - datetime(2020, 6, 24, 8 ,15)

delta.days
Out[7]: 196
delta.seconds
Out[20]: 56700
1.3、对datetime进行加减一段时间, (注:timedelta不能指定月进行加减)
from datetime import timedelta

start = datetime(2020, 2, 7)

start + timedelta(12)
Out[12]: datetime.datetime(2020, 2, 19, 0, 0)

start + timedelta(20)
Out[13]: datetime.datetime(2020, 2, 27, 0, 0)

start + timedelta(months=20)
Traceback (most recent call last):
  File "/var/folders/py/ln390kjs3154ds7_qfhn0j140000gn/T/ipykernel_37238/3234709628.py", line 1, in <module>
    start + timedelta(months=20)
TypeError: 'months' is an invalid keyword argument for __new__()
1.4、使用 dateutil 对月进行加减
from dateutil.relativedelta import relativedelta

start
Out[25]: datetime.datetime(2020, 2, 7, 0, 0)

start + relativedelta(months=20)
Out[24]: datetime.datetime(2021, 10, 7, 0, 0)
1.5、 datetime模块中的类型

在这里插入图片描述

1.5、字符串与datetime转换
stamp = datetime(2011, 1, 3)

str(stamp)
Out[17]: '2011-01-03 00:00:00'

stamp.strftime('%Y%m%d')
Out[18]: '20110103'

stamp.strftime('%y%m%d')
Out[19]: '110103'

datestrs = ['6/6/2016', '8/6/2021']

[datetime.strptime(x, '%m/%d/%Y') for x in datestrs]
Out[29]: [datetime.datetime(2016, 6, 6, 0, 0), datetime.datetime(2021, 8, 6, 0, 0)]
1.6、datetime格式说明

在这里插入图片描述
待续。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值