Python时间模块之datetime模块

目录

简介

函数介绍及运用

date:日期类

1.获取当前时间

 2.日期对象的属性

3.date类中时间和时间戳的转换:

4.修改日期使用replace方法 

time:时间类

 time类操作

datetime:日期时间类

timedelta:时间间隔,即两个时间点之间的时间长度


简介

在项目开发中做功能经常会用到关于时间的操作。比如会员过期的定时任务,一些代码的延迟执行。在python中比较常用的三个时间模块分别是:timecalendar、datetime模块。今天介绍的是datetime模块。

在python中表示时间的格式有三种:时间戳、元组、格式化时间。与time模块类似,datetime模块也能够将datetime类型转换成这三种类型。

函数介绍及运用

date:日期类

常用属性:year/month/day

1.获取当前时间

import datetime
today = datetime.datetime.today()
today1 = datetime.datetime.now()

 结果:

 2.日期对象的属性

import datetime

# 这两种都可以
today = datetime.datetime.today()
# today1 = datetime.datetime.now()

print("当前日期:", today)  # 当前日期
print("当前日期(字符串):", today.ctime())  # 返回日期的字符串
print("时间元组信息:", today.timetuple())  # 当前日期的时间元组信息
print("年:", today.year)  # 返回today对象的年份
print("月:", today.month)  # 返回today对象的月份
print("日:", today.day)  # 返回today对象的日
print("星期:", today.weekday())  # 0代表星期一,类推
print("公历序数:", today.toordinal())  # 返回公历日期的序数
print("年/周数/星期:", today.isocalendar())  # 返回一个元组:一年中的第几周,星期几

 结果:

3.date类中时间和时间戳的转换:

(1)toordinal方法返回的公历序数转化为日期

import datetime

today = datetime.datetime.now()
# 此方法的返回类型是一个数字,它是该日期在公历中的序数。
num = today.toordinal()
print(num)
print(today.fromordinal(num))

结果:

(2)time模块时间戳转化日期

import datetime
import time

nowtime = time.time()
print(nowtime)
nowdate = datetime.date.fromtimestamp(nowtime)
print(nowdate)

结果:

(3)格式化时间,格式参照time模块中的strftime方法

import datetime

today = datetime.date.today()
print(today)
print(today.strftime("%Y.%m.%d"))
print(today.strftime("%Y:%m:%d"))
print(today.strftime("%Y.%m.%d %H:%M:%S"))

结果:

4.修改日期使用replace方法 

import datetime

# 当前日期
date1 = datetime.date.today()
print(date1)

# 指定日期
date2 = datetime.date(2022, 10, 7)
print(date2)

# 不带参数修改日期
date3 = date2.replace(2022, 10, 8)
print(date3)

# 带参数修改日期
date4 = date2.replace(month=12, day=9)
print(date4)

 结果:

time:时间类

常用属性:hour/minute/second/microsecond

time类生成time对象,包含hour、minute、second、microsecond属性

 time类操作

import datetime

# time对象
print(datetime.time)
# 格式化time
time1 = datetime.time(18, 30, 59, 59)
print(time1)
print(time1.hour)
print(time1.minute)
print(time1.second)
print(time1.microsecond)  # 微秒

结果:

datetime:日期时间类

datetime类包含date类和time类的全部信息

import datetime

print(datetime.datetime.today())
print(datetime.datetime.now())
print(datetime.datetime.utcnow())  # 返回当前UTC日期和时间的datetime对象
print(datetime.datetime.fromtimestamp(1670582201))  # 时间戳的datetime对象
print(datetime.datetime.fromordinal(738498))
print(datetime.datetime.strptime("2020-12-25", "%Y-%m-%d"))

结果:

timedelta:时间间隔,即两个时间点之间的时间长度

timedelta对象表示的是一个时间段,即两个日期date或者日期时间datetime之间的差;支持参数:weeks、days、hours、minutes、seconds、milliseconds、microseconds

timedelta 操作

import datetime
day = datetime.date.today()
# 当前日期
print(day)
# 增加7天后日期
print(day+datetime.timedelta(days=7))

# 时间操作
now = datetime.datetime.now()
# 当前日期时间
print(now)
# 增加8小时
print(now+datetime.timedelta(hours=8))
# 增加30分钟
print(now+datetime.timedelta(minutes=30))
# 增加30秒钟
print(now+datetime.timedelta(seconds=30))
# 减去一星期
print(now-datetime.timedelta(weeks=1))

结果:

本文介绍了datetime模块的使用,不会使用时间或者对时间操作陌生的小伙伴,可以参考时间模块(time,calendar,datetime)博客,来实现与其他三种时间格式的转换,与日期的操作。 

  • 32
    点赞
  • 248
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Python datetime模块是用于处理日期时间模块。它提供了各种类和函数来处理日期时间时间间隔、时区等。 datetime模块中最常用的类是datetime类,它表示一个日期时间的对象。datetime类的构造函数可以接受年、月、日、时、分、秒和微秒等参数,也可以从字符串中解析出日期时间。 下面是一些常用的datetime类的方法: - datetime.today():返回表示当前日期时间datetime对象。 - datetime.now():返回表示当前日期时间datetime对象,可选参数tz指定时区。 - datetime.strptime(date_string, format):将字符串解析为datetime对象,format指定字符串的格式。 - datetime.strftime(format):将datetime对象格式化为字符串,format指定输出的格式。 - datetime.date():返回datetime对象的日期部分,即date对象。 - datetime.time():返回datetime对象的时间部分,即time对象。 - datetime.replace(year, month, day, hour, minute, second, microsecond):返回一个新的datetime对象,替换指定的年、月、日、时、分、秒和微秒。 - datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks):表示一个时间间隔,可以用来进行日期的加减。 除了datetime类,还有date、time和timedelta等类,它们分别表示日期时间时间间隔。例如,date类的构造函数可以接受年、月、日等参数,可以从datetime对象中获取日期部分,还提供了strftime和timedelta等方法。time类和datetime类类似,但只表示时间部分。timedelta类表示时间间隔,可以进行加减运算。 datetime模块还提供了timezone类,用于表示时区信息。可以通过pytz模块获取时区信息,然后使用timezone类创建时区对象。datetime对象可以使用astimezone方法转换时区。 下面是一些常用的timezone类的方法: - timezone.utc:表示UTC时区。 - timezone(timedelta, name=None):表示偏移量为timedelta的时区,可选参数name指定时区的名称。 - pytz.timezone(name):获取名称为name的时区对象。 - tzinfo.utcoffset(dt):返回datetime对象dt在该时区下的UTC偏移量。 - tzinfo.dst(dt):返回datetime对象dt在该时区下的夏令时偏移量。 总之,datetime模块提供了丰富的功能和灵活的接口,可以方便地处理日期时间相关的任务。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JSON_L

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

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

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

打赏作者

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

抵扣说明:

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

余额充值