Python中Datetime的使用

本文介绍了Python中处理日期和时间的Datetime模块,包括获取当前日期时间、创建datetime对象、字符串转换、时间间隔计算等常用方法,是进行日期操作的实用指南。

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

0. 标题

Python中Datetime的使用

作者: quantgalaxy@outlook.com   
欢迎交流   

1. 介绍

每次使用python处理datetime数据的时候,我总需要在书上查找或者网上搜索,使用后就很快忘记了,所以在这里整理出来一些常用方法。

2. 常用方法

2.1 获取当前的日期时间

from datetime import datetime
print(datetime.now())

# 2023-09-28 09:05:47.862986

2.2 创建一个时间日期的datetime对象

from datetime import datetime
dt = datetime(2023, 10, 24)

print(dt)
# 2023-10-24 00:00:00
作者: quantgalaxy@outlook.com   
欢迎交流   

2.3 创建一个日期+时间的datetime对象

from datetime import datetime
dt = datetime(2023, 10, 24, 11, 0, 5)

print(dt)
# 2023-10-24 11:00:05

六个参数分别是:年,月,日,小时,分钟,秒。

2.4 把一个日期类型的字符串转为datetime对象

from datetime import datetime

string = '2023-12-24'
dt = datetime.strptime(string, '%Y-%m-%d')

print(dt)
# 2023-12-24 00:00:00

第二个参数,是用来指示出字符串的格式的。
不同的format表示不同的含义,可以参考官方文档:format-codes

2.5 把一个datetime对象转为string字符串格式

from datetime import datetime

dt = datetime(2023, 10, 24)
string = str(dt))

print(string)
# 2023-10-24 00:00:00

如果你也想像 2.4 一样,可以显示的指出各个字段的含义,可以用以下方法:

from datetime import datetime
dt = datetime(2023, 10, 24)
string = datetime.strftime(dt, '%Y-%m-%d')

print(string)    # 2023-10-24

更多的例子:

from datetime import datetime

dt = datetime(2023, 10, 24)

print(datetime.strftime(dt, '%Y-%m-%d'))    # 2023-10-24
print(datetime.strftime(dt, '%Y-%b-%d'))    # 2023-Oct-24
print(datetime.strftime(dt, '%Y-%B-%d'))    # 2023-October-24

print(datetime.strftime(dt, '%Y-%d-%m'))    # 2023-24-10
print(datetime.strftime(dt, '%Y--%m--%d'))  # 2023--10--24
print(datetime.strftime(dt, '%YXX%mXX%d'))  # 2023XX10XX24

2.6 获取间隔时间段后的datetime

  1. 获取当前时间后一天的datetime对象(明天的datetime对象)
from datetime import datetime
from datetime import timedelta

now = datetime.now()
dt = now + timedelta(days=1)

print(now)
print(dt)

# now: 2023-09-28 19:30:37.791256
# dt: 2023-09-29 19:30:37.791256

使用timedelta,可以用于增量计算,参数days表示间隔多少天。
如果是计算昨天,直接减掉就可以了。

  1. 获取当前时间几个小时前的datetime
from datetime import datetime
from datetime import timedelta

now = datetime.now()
dt = now - timedelta(hours=6)

print(now)
print(dt)

# now: 2023-09-28 19:32:02.884145
# dt: 2023-09-28 13:32:02.884145

timedelta的语法如下,所有时间单位都可以当成间隔参数来输入:
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

3. 作者

作者: quantgalaxy@outlook.com   
欢迎交流   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

novowindx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值