Python的日期时间模块—datatime

Python官方提供的日期和时间模块主要是datetime模块。 在datetime模块中提供了下面几个类。
datetime: 包含时间和日期。
date: 只包含日期。
time: 只包含时间。
timedelta: 计算时间跨度。
tzinfo: 时区信息。

1.datetime类

datetime类表示日期和时间等信息,我们可以使用如下构造方法创建datetime对象:

datetime.datetime(year,month,day,hour=0,minute=0,second=0,microsecond=0,tzinfo=None)

参数说明如下:

 datetime类的常用方法如下:
datetime.today() : 返回当前的本地日期和时间。
datetime.now(tz=None) : 返回指定时区的当前日期和时间, 参数t
z用于设置时区, 如果参数tz为None或省略, 则等同于today()。
datetime.fromtimestamp(timestamp, tz=None) : 返回与UNIX时间
戳对应的本地日期和时间。 UNIX时间戳是从1970年1月1日00: 00: 00
开始到现在为止的总秒数。

import datetime
datetime.datetime(2021,5,2)
#datetime.datetime(2021, 5, 2, 0, 0)
d = datetime.datetime.fromtimestamp(999999999, None)
#datetime.datetime.now()用于获得计算机当前时间
print(d)
#2001-09-09 09:46:39

2.date类

date类表示日期信息,构造方法如下:

datetime.date(year,month,day)

date类的常用方法如下。
date.today(): 返回当前的本地日期。
date.fromtimestamp(timestamp): 返回与UNIX时间戳对应的本地日期。

import datetime
d=datetime.date.today()
b=datetime.date.fromtimestamp(9999999999)
print(d,b)
#2023-10-12 2286-11-21

3.time类

time类表示一天中的时间信息,构造方法如下:

datetime.time(hour=0,minute=0,second=0,microsecond=0,tzinfo=None)

其含义取值与上述类似。

import datetime
d=datetime.time(23,59,30)
print(d)
#23:59:30

4.计算时间跨度—timedelta

 用于计算datetime,date和time对象的时间间隔,构造方法如下:

datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)
参数说明
day

second
microsecond微秒
millisecond毫秒
minute分钟
hour小时
week
import datetime
d=datetime.date.today()
delta=datetime.timedelta(10) #10天后的对象
d1=d+delta
delta=datetime.timedelta(weeks=5) #5周后的对象
d2=d+delta
print(d1,d2)
#2023-10-22 2023-11-16

日期时间与字符串相互转换

我们经常会遇到将日期时间与字符串相互转换的情况。
(1) 将日期时间对象转换为字符串时, 称之为日期时间格式化。 在Python中使用strftime() 方法进行日期时间的格式化, 在datetime、 date和time三个类中都有一个实例方法strftime(format) 。
(2) 将字符串转换为日期时间对象的过程, 叫作日期时间解析。 在Python中使用datetime.strptime(date_string, format) 类方法进行日期时间解析。在strftime() 和strptime() 方法中都有一个格式化参数format, 用来控制日期时间的格式, 常用的日期和时间格式控制符如下表所示。

import datetime
d=datetime.datetime.now() #获取计算机当前时间
print (d.strftime('%Y-%m-%d %H:%M:%S'))#设置日期格式
#2023-10-12 20:42:59
str_date='2023-10-13 20:34:18'
date=datetime.datetime.strptime(str_date,'%Y-%m-%d %H:%M:%S')#将一个字符串按照指定格式解析为日期时间对象
print(date)
#datetime.datetime(2023, 10, 12, 20, 34, 18)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Roy Teng

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

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

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

打赏作者

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

抵扣说明:

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

余额充值