Python 内置时间模块:Datetime-构建时间实例

1、前言

在用 Python 进行数据处理,尤其是时间序列梳理的处理,经常会涉及处理时间或日期的地方,有些看似简单的问题,经常会混淆,甚至被困住。
虽然网上已有不少关于 Python 时间模块介绍的内容,但总体来说较为零散,因此阳哥对 Python 内置的时间模
块来进行了整理, Python 内置时间处理模块主要包括:
• Datetime
• Time
• Calendar
概括来说,时间和日期处理的模块和库,有几个主要的概念都是会涉及的,包括:
日期 时间 时间戳 时间和字符串的转换 时区 等。
Datetime Time Calendar 这三个模块中,我们用的较多的是 Datetime ,在这里我们介绍的也较为详细。
针对 Datetime 模块,从构建时间对象实例、时间转换、时间对象的运算三个方面进行了梳理,共涉及 13 个知识点,整理的大纲如下:

 针对 Time 模块,从时间获取和时间转换两个方面进行了梳理,共涉及 6 个知识点,整理的大纲如下:

 在此要介绍的,是大家平时用的较多的 datetime 模块, 它属于 Python 的内置模块,功能相对较全。

2、构建时间对象实例

2.1 日期(date)实例的构造

date 是一个理想化的简单型日期,属性有 year , month , day
import datetime
import time

# 构 造 日 期 date 实 例
d1 = datetime.date(2020,10,12)
print(d1)

# 获取日期所属的年份 ,月份,和具体的日期号
print(f' 日 期 所 属 的 年 份 为 : {d1.year}')
print(f' 日 期 所 属 的 月 份 为 : {d1.month}')
print(f' 日 期 具 体 的 日 期 号 为 : {d1.day}')

运行结果:

 2.2 时间 time 实例的构造

time 是一个独立于任何特定日期的理想化时间,其属性有 hour minute second microsecond tzinfo
#构造time时间实例
t1 = datetime.time(20,10,1)
print(t1)
print(f'time 所 属 的 小 时 为 : {t1.hour}')
print(f'time 所 属 的 分 钟 为 : {t1.minute}')
print(f'time 所 属 的 秒 为 : {t1.second}')

运行结果:

 

2.3 datetime 实例的构造

datetime 是日期和时间的结合,其属性有 year month day hour minute second microsecond tzinfo
# 构造时间datetime实例
dt1 = datetime.datetime(2020,10,11,20,10,1)
print(dt1)
dt2 = datetime.datetime.now()
print(dt2)
dt3 = datetime.datetime.today()
print(dt3)
dt4 = datetime.datetime.combine(d1,t1)
print(dt4)
dt5 = dt4.replace(year=2019)
print(dt5)

运行结果:

 2.4 timedelta 对象的构造

timedelta 对象表示两个 date 或者 time 或者 datetime 的时间间隔。
class datetime . timedelta ( days =0, seconds =0, microseconds =0, milliseconds =0,
minutes =0, hours =0, weeks =0)
所有参数都是可选的并且默认为 0 。这些参数可以是整数或者浮点数,也可以是正数或者负数。
只有 days, seconds microseconds 会存储在内部。参数单位的换算规则如下:
• 1 毫秒会转换成 1000 微秒。
• 1 分钟会转换成 60 秒。
• 1 小时会转换成 3600 秒。
• 1 星期会转换成 7 天。
delta = datetime.timedelta(weeks=3,
 days=10,
 hours=6,
 minutes=50,
 seconds=30,
 microseconds=1000,
 milliseconds=10000,
 )
print(delta)

运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值