【一】表示时间的三种方式
- 时间戳
- 元祖(struct_time):年,月,日,时,分,秒,毫秒,微妙
- 格式化的时间字符串:xx年-xx月-xx日 时:分:秒
【二】time模块
(1)导入模块
import time
(2)时间戳
- 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
import time
time_str = time.time()
print(time_str,type(time_str))
print(time.gmtime(time_str))
print(time.localtime(time_str))
(3)时间字符串
import time
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(now_time)
now_time = time.strftime("%Y-%m-%d %H:%M:%S")
print(now_time)
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
print(now_time)
now_time = time.strftime("%Y-%m-%d %X")
print(now_time)
符号 |
含义 |
值 |
%y |
两位数的年份表示 |
(00-99) |
%Y |
四位数的年份表示 |
(000-9999) |
%m |
月份 |
(01-12) |
%d |
月内中的一天 |
(0-31) |
%H |
24小时制小时数 |
(0-23) |
%I |
12小时制小时数 |
(01-12) |
%M |
分钟数 |
(00=59) |
%S |
秒 |
(00-59) |
%a |
本地简化星期名称 |
|
%A |
本地完整星期名称 |
|
%b |
本地简化的月份名称 |
|
%B |
本地完整的月份名称 |
|
%c |
本地相应的日期表示和时间表示 |
|
%j |
年内的一天 |
(001-366) |
%p |
本地A.M.或P.M.的等价符 |
|
%U |
一年中的星期数 |
(00-53)星期天为星期的开始 |
%w |
星期 |
(0-6),星期天为星期的开始 |
%W |
一年中的星期数 |
(00-53)星期一为星期的开始 |
%x |
本地相应的日期表示 |
|
%X |
本地相应的时间表示 |
|
%Z |
当前时区的名称 |
|
%% |
%号本身 |
|
(4)时间元祖
import time
date_time = time.localtime()
print(date_time)
print(date_time.tm_year)
print(date_time.tm_mon)
print(date_time.tm_mday)
print(date_time.tm_wday)
print(date_time.tm_yday)
print(date_time[0])
- struct_time 元组共有9个元素共九个元素:
- (年,月,日,时,分,秒,一年中第几周,一年中第几天等)
索引(Index) |
属性(Attribute) |
值(Values) |
0 |
(年) |
比如2023 |
1 |
tm_mon(月) |
1 - 12 |
2 |
tm_mday(日) |
1 - 31 |
3 |
tm_hour(时) |
0 - 23 |
4 |
tm_min(分) |
0 - 59 |
5 |
tm_sec(秒) |
0 - 60 |
6 |
tm_wday(weekday) |
0 - 6(0表示周一) |
7 |
tm_yday(一年中的第几天) |
1 - 366 |
8 |
tm_isdst(是否是夏令时) |
默认为0 |
(5)结构化时间
[1]time.mktime(时间戳-->元组时间戳)
import time
time_str = time.time()
print(time_str)
time_str = time.localtime(time_str)
print(time_str)
time_str = time.mktime(time_str)
print(time_str)
[2]time.strftime(结构化时间-->时间字符串)
import time
time_str = time.strftime("%Y-%m-%d %X")
print(time_str)
print(time.localtime(time.time()))
time_local = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(time_local)
[3]time.strptime(时间字符串-->时间元组)
import time
time_str = time.strptime("2024-4-19", "%Y-%m-%d")
print(time_str)
time_local = time.strptime("4/19/2024", "%m/%d/%Y")
print(time_local)
time_local = time.strptime("4:19:2024", "%m:%d:%Y")
print(time_local)
[4]time.asctime(结构化时间--> %a %b %d %H:%M:%S %Y串)
import time
time_str = time.asctime(time.localtime(time.time()))
print(time_str)
time_local = time.asctime()
print(time_local)
- time.ctime(时间戳) --> %a %b %d %H:%M:%S %Y串
import time
time_str = time.ctime(time.time())
print(time_str)
time_local = time.ctime()
print(time_local)
(6)总结
time.time()
time.sleep()
time.strftime()
time.strptime()
time.localtime()
【三】datetime模块
(1)导入模块
import datetime
(2)自定义日期并格式化
import datetime
time_str = datetime.date(2025,4,19)
print(time_str)
(3)获取本地时间
import datetime
now_time = datetime.date.today()
print(now_time)
import datetime
now_time = datetime.datetime.today()
print(now_time)
print(now_time.year)
print(now_time.month)
print(now_time.day)
print(now_time.hour)
print(now_time.minute)
print(now_time.second)
print(now_time.weekday())
print(now_time.isoweekday())
(4)timedelta对象
[1]时间增减
import datetime
now_today = datetime.timedelta(days=-5)
print(now_today)
[2]推迟和提前日期
import datetime
today = datetime.date.today()
print(today)
back_days = datetime.timedelta(days=5)
print(back_days)
print(f'日期推后到{back_days + today}')
forward_days = datetime.timedelta(days=6)
print(forward_days)
print(f'日期提前到{today - forward_days}')
[3]日期对象与timedelta的关系
- 日期对象 = 日期对象 +/- timedelta对象
- timedelta对象 = 日期对象 +/- 日期对象
import datetime
birthday = datetime.date(2024, 4, 18)
today_date = datetime.date.today()
days = birthday - today_date
print(f'生日:{birthday}')
print(f'今天的日期:{today_date}')
print(f'距离生日还有{days}天')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现