Python 速查系列之 datetime :处理日期时间,一篇学会

1 datetime 简单介绍

        datetime 库是Python的标准库之一,它提供了多个类和方法,用于处理日期和时间相关的操作. datetime 库中的主要类包括 date、time、 datetime、timedelta . 这些类可以帮助你处理日期和时间的组合、单独的日期、单独的时间以及时间间隔. strftime 和 strptime 方法可以将时间在日期时间对象和字符串之间转换.

2 datetime 安装

        首先检查是否已安装 datetime 库,在终端输入:

pip show datetime

       若显示WARNING: Package(s) not found: datetime ,则输入如下命令安装:

pip install datetime

        若显示 datetime 库的版本信息,则说明已安装.

3 基本用法

3.1 date 类

        date 类可以实现创建日期对象,获取当前的日期等功能,例如:

import datetime

# 创建一个日期对象
my_date = datetime.date(2024, 4, 28)
print(my_date)  # 输出:2024-04-28

# 获取当前日期
current_date = datetime.date.today()
print(current_date)  # 输出:当前日期

        对于日期,还可以把日期中的年份,月份,日单独取出,例如:

import datetime

# 获取当前年份
current_year = datetime.date.today().year
print(current_year)  # 输出:当前年份

# 获取当前月份
current_month = datetime.date.today().month
print(current_month)  # 输出:当前月份

# 获取当前日期的日
current_day = datetime.date.today().day
print(current_day)  # 输出:当前日期的日

3.2 time 类

        time 类可以实现创建时间对象,获取当前的时间等功能,例如:

import datetime  
  
# 创建一个时间对象  
my_time = datetime.time(14, 55, 41)  
print(my_time)  # 输出:15:00:00
  
# 获取当前时间(time部分)  
current_time = datetime.datetime.now().time()  
print(current_time)  # 输出:当前时间(显示微秒)

current_time = datetime.datetime.now().time().replace(microsecond=0)  
print(current_time)  # 输出:当前时间(不显示微秒)

        同样地,可以把时间中的时,分,秒和微秒单独取出,例如:

import datetime

# 获取当前时间的时(time部分)  
current_hour = datetime.datetime.now().time().hour  
print(current_hour)  # 输出:当前时间的时

# 获取当前时间的分(time部分)  
current_minute = datetime.datetime.now().time().minute
print(current_minute)  # 输出:当前时间的分

# 获取当前时间的秒(time部分)  
current_second = datetime.datetime.now().time().second
print(current_second)  # 输出:当前时间的秒


# 获取当前时间的微秒(time部分)  
current_microsecond = datetime.datetime.now().time().microsecond
print(current_microsecond)  # 输出:当前时间的微秒

3.3 datetime类

        与 date 类和 time 类相似,创建一个包含日期和时间的对象,例如:

import datetime  
  
# 创建一个日期时间对象  
my_datetime = datetime.datetime(2024, 4, 28, 15, 00, 00)  
print(my_datetime)  # 输出:2024-04-28 15:00:00 
  
# 获取当前日期和时间  
current_datetime = datetime.datetime.now()  
print(current_datetime)  # 输出:当前日期和时间

4 高级用法

4.1 timedelta 类

        timedelta 添加一个时间差,例如:

import datetime  
  
# 计算两个日期之间的差值  
date1 = datetime.date(2024, 5, 1) + datetime.timedelta(days=1) 
print(date1)  # 输出:2024-05-02

4.2 strftime 和 strptime 方法

        · strftime 方法可以将日期时间对象格式化为字符串.

        · strptime 方法可以将字符串解析为日期时间对象.

例如:

import datetime  
  
# 创建一个日期时间对象  
my_datetime = datetime.datetime(2024, 4, 28, 15, 00, 00)  
  
# 使用strftime将日期时间对象格式化为字符串  
formatted_date = my_datetime.strftime('%Y-%m-%d %H:%M:%S')  
print(formatted_date)  # 输出:2024-04-28 15:00:00
  
# 使用strptime将字符串解析为日期时间对象  
parsed_datetime = datetime.datetime.strptime('2024-04-28 15:00:00', '%Y-%m-%d %H:%M:%S')  
print(parsed_datetime)  # 输出:2024-04-28 15:00:00

4.3 两个日期时间对象进行大小的比较

        两个 datetime 对象来确定它们之间的顺序关系,例如:

import datetime

# 比较两个日期的顺序关系
print(datetime.date(2024, 5, 1) > datetime.date(2024, 4, 28))
# 输出:True

4.4 计算两个时间的时间差

        可以通过两个日期时间对象相减得到时间差,例如:

import datetime

# 计算两个日期之间的差值
delta = datetime.date(2024, 5, 1) - datetime.date(2024, 4, 28)
print(delta)  # 输出:3 days, 0:00:00

4.5 制作一个简单的计时器

        datetime 类可以临时记录代码的运行时间,例如:

import datetime

# 记录开始时间
start = datetime.datetime.now().replace(microsecond=0)
print(start)

# 执行你的函数
# ...

# 记录结束时间
end = datetime.datetime.now().replace(microsecond=0)
print(end)

#计算时间差
print(start - end)

5 注

        · 当使用 strftime 方法格式化日期和时间时,格式字符串的大小写是有意义的,例如%Y代表四位数的年份,而%y代表两位数的年份.

        · 从Python 3.7开始,datetime 对象支持纳秒级别的精度. 如果代码需要在不同的Python版本之间兼容,并且使用了纳秒级别的精度,则需要对代码做适当的调整.

       · 在复现本文的代码时,如果遇到问题,欢迎私信或评论区联系作者.

      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值