Python中datetime库的用法

本文详细介绍了Python的datetime模块,包括date、datetime、time和timedelta四个类的使用方法,如创建日期、时间、时间间隔,以及相关的方法如ctime、fromtimestamp、replace、strftime等,还涉及到时间日期的格式化符号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.

datetime模块定义了5个类,分别是

1.datetime.date:表示日期的类

2.datetime.datetime:表示日期时间的类

3.datetime.time:表示时间的类

from datetime import date
from datetime import datetime
from datetime import time
from datetime import timedelta
from datetime import tzinfo

from datetime import * #不知道用啥 全部导入就可以

4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

5.datetime.tzinfo:时区的相关信息

一、首先看一下datetime.date类:

date类有三个参数,datetime.date(year,month,day),返回year-month-day

方法:

1.datetime.date.ctime(),返回格式如 Sun Apr 16 00:00:00 2017

2.datetime.date.fromtimestamp(timestamp),根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同

3.datetime.date.isocalendar():返回格式如(year,month,day)的元组,(2017, 15, 6)

4.datetime.date.isoformat():返回格式如YYYY-MM-DD

5.datetime.date.isoweekday():返回给定日期的星期(0-6)星期一=0,星期日=6 这里表明下python3中是从[1-7]表示的 就是本来是星期几现在显示就是星期几

6.datetime.date.replace(year,month,day):替换给定日期,但不改变原日期

7.datetime.d

### Python 中 `datetime` 的时间功能 #### 使用 `datetime.time` 创建时间对象 在 Python 的 `datetime` 模块中,可以通过 `datetime.time` 类创建表示一天内具体时刻的对象。以下是其基本用法: ```python from datetime import time # 创建一个时间对象,默认参数为 hour=0, minute=0, second=0, microsecond=0 t = time(13, 24, 56) print(t) # 输出: 13:24:56 ``` 上述代码展示了如何通过指定小时、分钟和秒来创建一个时间对象[^1]。 --- #### 获取当前本地时间 如果需要获取当前系统的本地时间,可以使用 `datetime.datetime.now()` 方法并提取其中的时间部分: ```python from datetime import datetime now = datetime.now() current_time = now.time() # 提取时间部分 print(current_time) # 输出类似于: 15:45:30.123456 ``` 此方法返回的是当天的具体时间,精确到微秒级别[^2]。 --- #### 时间格式化与解析 为了将时间对象转换为字符串或将字符串解析为时间对象,可分别使用 `.strftime()` 和 `.strptime()` 方法: ##### 格式化时间对象为字符串 ```python from datetime import time t = time(13, 24, 56) formatted_time = t.strftime("%H:%M:%S") # 将时间对象格式化为字符串 print(formatted_time) # 输出: 13:24:56 ``` 此处 `%H`, `%M`, `%S` 是常用的占位符,分别代表小时、分钟和秒[^3]。 ##### 解析字符串为时间对象 ```python from datetime import datetime time_string = "13:24:56" parsed_time = datetime.strptime(time_string, "%H:%M:%S").time() print(parsed_time) # 输出: 13:24:56 ``` `.strptime()` 方法允许将特定格式的字符串解析成对应的时间对象。 --- #### 时间比较与操作 `datetime.time` 对象支持直接比较大小以及简单的属性访问: ```python from datetime import time t1 = time(13, 24, 56) t2 = time(14, 30) if t1 < t2: print(f"{t1} occurs before {t2}") # 输出: 13:24:56 occurs before 14:30:00 else: print(f"{t1} occurs after or at the same as {t2}") hour_diff = (t2.hour - t1.hour) % 24 # 计算两者的小时差 minute_diff = abs(t2.minute - t1.minute) # 绝对值计算分钟差异 print(hour_diff, minute_diff) # 输出: 1 6 ``` 以上代码片段演示了两个时间对象之间的简单对比逻辑及其属性访问方式[^4]。 --- #### 替代方案:结合 `timedelta` 虽然 `datetime.time` 不支持直接加减运算,但可通过将其嵌入完整的日期时间 (`datetime`) 来实现更复杂的时间操作: ```python from datetime import timedelta, datetime dt = datetime.now() new_dt = dt + timedelta(hours=2, minutes=30) # 增加两个小时三十分钟 updated_time = new_dt.time() print(updated_time) # 输出更新后的时间部分 ``` 这种方法利用了 `timedelta` 支持的加减运算特性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值