日期和时间
- Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
- Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
- 时间间隔是以秒为单位的浮点小数。
- 每个时间戳都以自从 1970 年 1 月 1 日午夜(历元)经过了多长时间来表示。
Python 的 time 模块下有很多函数可以转换常见日期格式。如函数 time.time() 用于获取当前时间戳, 如下实例:
#!/usr/bin/python3
import time # 引入time模块
ticks = time.time()
print ("当前时间戳为:", ticks)
以上实例输出结果:
当前时间戳为: 1459996086.7115328
time模块
时间戳 time.time() 1970年1月1日之后的秒
格式化的字符串 time.strftime(’%Y-%m-%d’) 2018-07-22 11:11
时间元组 time.localtime() 年、日、星期等
休眠时间 time.sleep(t)
# 将格式字符串转换为时间戳
a = "2020-01-01 11:59:59"
str2TT = time.strptime(a, "%Y-%m-%d %H:%M:%S")
# 时间元组到时间戳
ts = time.mktime(str2TT)
print(ts)
格式化时间符号
%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 当前时区的名称
%% %号本身
# 结构化时间time.localtime()
res = time.localtime()
print(res)
datetime模块
- datetime.date:日期(2025-01-01)
- datetime.time:时间(12:00:00)
- datetime.datetime:时期(2025-01-01 12:00:00)
# 字符串到日期
print(datetime.datetime.strptime('2020-1-1 12:01', '%Y-%m-%d %H:%M'))
# 日期格式化
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M'))
时间模块需要掌握的操作
<1>时间格式的转换
注意显示时间(格式化时间)无法直接和时间戳直接转换
例如:结构化时间转时间戳time.mktime()
res = time.localtime()
date = time.mktime(res) # 将结构化时间转换为时间戳
print(date)
<2>结构化时间转格式化时间
res = time.localtime()
date = time.strftime("%Y-%m-%d %H:%M:%S",res)
print(date)
时间元组(time.struct_time)
python中时间元组是一个比较重要的类型,通过时间元组我们可以获取,年月日时分秒,星期几,一年中的第几天等信息。
日历模块(calendar)
<1> calendar.firstweekday( )
返回当前每周起始日期的设置。默认情况下,首次载入 calendar 模块时返回 0,即星期一。
<2>calendar.setfirstweekday(weekday)
设置每周的起始日期码。0(星期一)到6(星期日)。
# 打印月份
c = calendar.month(2019,2)
print(c)
#判断闰年
a = calendar.isleap(2019)
print(a)
for i in range(2000,3000):
print(i,calendar.isleap(i))
输出结果为
pip命令行安装第三模块
安装 pip install 模块名
卸载 pip uninstall 模块名
查看所有安装 pip list