python学习笔记(十四)时间模块的使用

本文介绍了Python中的时间模块,包括time模块的基本使用示例,calendar模块的日历功能展示,以及date和time类对于日期和时间的处理。通过这些模块,开发者可以方便地进行日期和时间的计算与格式化。

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

常用时间模块

time模块

示例:

import time

print('Hello')
# 睡眠指定的秒数
# time.sleep(2)
print('world')

# 时间戳:从1970-01-01 00:00:00到此刻的秒数
t = time.time()
# print(t)

# 将时间戳转换为time.struct_time对象
# 不指定时间戳时默认转换当前时间戳,带时区
local_time = time.localtime()

# 可以通过属性或者下标进行访问
print(local_time.tm_year, local_time[0])

# 功能通过localtime,不带时区
gm_time = time.gmtime()
print(gm_time)

# 0时区与当地时区相差的秒数
print(time.timezone)

# 将相关的时间信息转换为时间戳
t2 = time.mktime((2019, 8, 2, 10, 48, 45, 4, 214, 0))
print(t2)

# 将struct_time转换为特定格式显示
print(time.asctime())

# 格式化显示
# print(time.strftime('%Y-%m-%d %H:%M:%S %w %W', local_time))

print(time.strftime('%D', local_time))
'''
%Y  年(4位)
%y  年(2位)
%m  月
%d  日
%D  月/日/年
%H  时
%M  分
%S  秒
%w  星期(1-7)
%W  今年的第几周
'''
t3 = time.strptime('2019-08-02 11:02:03', '%Y-%m-%d %H:%M:%S')
print(t3)
print(time.mktime(t3))

calendar日历

示例:

import calendar

# w:星期的字符个数
# l:行高(几倍的行距)
# c:月份之间的水平间距
# m:每行显示的月份数量
c = calendar.calendar(2019, w=3, l=2, c=2, m=2)

# print(c)

# 查看某一年的某一个月份
m = calendar.month(2019, 8, w=3, l=2)
# print(m)

# 判断是否是闰年
print(calendar.isleap(2019))
print(calendar.isleap(2020))

# 统计两个年份之间的闰年数量,包括起始年份,不包括结束年份
print(calendar.leapdays(2000, 2008))
print(calendar.leapdays(2000, 2009))
datetime

date:日期 年月日

from datetime import date
import time

# 指定年月日
dt = date(2019, 8, 2)
print(dt)

# 今天
dt2 = date.today()
print(dt2)

# 指定时间戳
dt3 = date.fromtimestamp(time.time())
print(dt3)

# 单独获取年、月、日
print(dt.year, dt.month, dt.day)

# 转化为struct_time类型
print(dt2.timetuple())

# 获取星期:0-6
print(dt2.weekday())

# 获取星期:1-7
print(dt2.isoweekday())

# 格式化显示
print(dt3.strftime('%Y/%m/%d'))

# 标准格式显示 2019-08-02
print(dt3.isoformat())

# 以日历形式查看:(年, 周数,星期)
print(dt3.isocalendar())

time 时间 时分秒

from datetime import time

t = time(11, 22, 33)
print(t)

# 单独获取时、分、秒
print(t.hour, t.minute, t.second)

# 格式化显示
print(t.strftime('%H=%M=%S'))
datetime

from datetime import datetime
import time

dt1 = datetime(2019, 8, 2, 11, 50, 55)
print(dt1)

# 当前日期时间:带时区
print(datetime.now())

# 当前日期时间:不带时区(格林尼治)
print(datetime.utcnow())

# 转换时间戳为日期时间对象
print(datetime.fromtimestamp(time.time()))

# 获取日期
print(dt1.date())

# 获取时间
print(dt1.time())

# 转换为时间戳
print(dt1.timestamp())

# 转换为struct_time
print(dt1.timetuple())

# 格式化显示
print(dt1.strftime('%Y/%m/%d %H/%M/%S'))
timedelta:时间间隔

from datetime import datetime, timedelta

d1 = datetime(2019, 8, 2, 11, 58, 58)
d2 = datetime(2019, 8, 1, 8, 50, 58)

delta = d1 - d2

print(delta, type(delta))

# 相差天数
print(delta.days)
# 除天以外的秒数
print(delta.seconds)
# 总共多少秒
print(delta.total_seconds())

td = timedelta(days=2, hours=3, minutes=5)
print(td)

# 可以之间参与运算,得到新的对象
dt3 = d2 + td
print(dt3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值