time模块以及datetime模块
内容概要
- time模块
**timestamp时间戳
**struct_time结构化时间
**format time格式化时间 - datetime模块
**date
**time
**datetime
**timedelta
内容详细
一、time模块
"""
时间三种表现形式
1.时间戳(秒数)
2.结构化时间(一般是给机器看的)
3.格式化时间(一般是给人看的)
三种时间是可以相互转换的!!!
"""
1、时间戳(timestamp)
时间戳表示的是从1970年1月1日00:00:00开始按秒计算到目前的偏移量,
也就是计算从1970年到现在所过去的秒数
print(time.time()) # 1637839983.8243246
# 时间戳转换成结构化时间
time.localtime()
print(time.localtime(time.time()))
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=36, tm_sec=33, tm_wday=3, tm_yday=329, tm_isdst=0)
2、结构化时间(struct_time)
共有九个元素组:
tm_year(年) 比如2011
tm_mon(月) 1 - 12
tm_mday(日) 1 - 31
tm_hour(时) 0 - 23
tm_min(分) 0 - 59
tm_sec(秒) 0 - 61
tm_wday(weekday) 0 - 6(0表示周日)
tm_yday(一年中的第几天) 1 - 366
tm_isdst(是否是夏令时) 默认为-1
print(time.localtime())
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=40, tm_sec=1, tm_wday=3, tm_yday=329, tm_isdst=0)
结构化时间转成时间戳:
struct_times = time.localtime()
timestamps_ = time.mktime(struct_times)
print(timestamps_) # 1637840676.0
3、格式化时间
已格式化的结构使时间更具可读性。包括自定义格式和固定格式
print(time.strftime('%Y-%m-%d')) # 2021-11-25
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2021-11-25 19:56:25
print(time.strftime('%Y-%m-%d %X')) # 2021-11-25 19:56:25
二、datetime模块
1、date
print(datetime.date.today()) # 2021-11-25
# 区别 datetime类
print(datetime.datetime.today()) # 2021-11-25 20:12:45.749087
2、datetime
"""date年月日 datetime年月日时分秒 time时分秒(MySQL django后期可以)"""
# res = datetime.datetime.today()
# print(res.year) # 2021
# print(res.month) # 11
# print(res.day) # 25
# print(res.weekday()) # 获取星期(weekday星期是0-6) 0表示周一
# print(res.isoweekday()) # 获取星期(weekday星期是1-7) 1表示周一
3、timedelta(时间差)
ctime = datetime.datetime.today()
time_tel = datetime.timedelta(days=3)
print(ctime) # 2021-11-25 20:16:09.128001
print(ctime - time_tel) # 2021-11-22 20:16:09.128001
print(ctime + time_tel) # 2021-11-28 20:16:09.128001
train
# 小练习 计算举例今年过生日还有多少天
birthday = datetime.date(1999, 7, 22)
now_date = datetime.date.today()
days = birthday - now_date
print('距离生日还有{}天'.format(days)) # 距离生日还有-8162 days, 0:00:00天
# UTC时间与我们的东八区时间差 八个小时
print(datetime.datetime.now()) # 2021-11-25 20:18:55.363573
print(datetime.datetime.utcnow()) # 2021-11-25 12:18:55.363573
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 终于决定:把自己家的能源管理系统开源了!
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(一):从.NET IoT入
· C#实现 Winform 程序在系统托盘显示图标 & 开机自启动
· ASP.NET Core - 日志记录系统(二)
· 实现windows下简单的自动化窗口管理