8.Python常用的时间和日期模块
Last Updated on 2024年1月4日 by hangzi
1、time模块
1.1、time函数
调用time函数,返回当前的时间戳,返回的时间戳是以秒为单位的浮点数
import time
print(time.time()) #获取当前时间戳
1.2、localtime函数
-
可传入一个可选参数,以秒为单位的时间戳
-
传入参数,将时间戳格式化为本地时间,返回一个struct_time元组
-
不传入参数,将当前时间戳格式化为本地时间,返回一个struct_time元组
-
struct_time
属性描述:
属性 | 含义 | 值 |
---|---|---|
tm_year | 年份 | 4位数字表示: 2020 |
tm_mon | 月份 | 1-12数字表示:12 |
tm_mday | 日期 | 1-31数字表示:5 |
tm_hour | 小时 | 0-23数字表示:12 |
tm_min | 分钟 | 0-59数字表示:30 |
tm_sec | 秒 | 0-60数字表示:30 |
tm_wday | 一周的第几天 | 0-6数字表示,0表示周一:5 |
tm_yday | 一年的第几天 | 1-366数字表示:300 |
tm_isdst | 是否是夏令时 | 默认值为-1,0表示不是,1表示是 |
import time
date_time1 = time.localtime()
print(date_time1)
ts=time.time()
date_time2=time.localtime(ts)
print(date_time2)
1.3、strftime函数
strftime(fmt[,struct_time])
函数是可以按照自定义的格式化参数将时间格式化,fmt是函数入参的自定义格式化参数,struct_time可选,不传表示当前时间格式化
- 时间格式化符号:
格式化符号 | 含义 |
---|---|
%y | 两位数的年份表示 |
%Y | 四位数的年份表示 |
%m | 月份 |
%d | 日期 |
%H | 24小时制小时数 |
%I | 12小时制小时数 |
%M | 分钟数 |
%S | 秒 |
%a | 本地简化星期名称 |
%A | 本地完整星期名称 |
%b | 本地简化的月份名称 |
%B | 本地完整的月份名称 |
%c | 本地相应的日期表示和时间表示 |
%j | 一年内的第几天 |
%p | 显示本地时间的AM或PM |
%U | 一年中的第几周 |
%w | 星期(0-6)0表示星期日 |
%W | 一年中的星期数:星期一是一个星期的开始 |
%x | 本地日期表示 20/12/5 |
%X | 本地时间表示:10:10:10 |
%Z | 当前时区的名称 |
import time
#默认格式化当前时间
print(time.strftime('当前时间:%Y-%m-%d %H:%M:%S'))
#指定时间格式化
print(time.strftime('指定时间:%Y-%m-%d %H:%M:%S',time.localtime(1591545600000)))
1.4、strptime函数
strptime(date_time,format)
函数可以将一个格式化的时间字符串转换为struct_time元组
print(time.strptime("2020-12-03 10:00:00","%Y-%m-%d %H:%M:%S"))
1.5、mktime函数
mktime(tuple)
函数可以将一个时间元组转换为一个浮点型时间戳
print(time.mktime(time.localtime()))
1.6、sleep函数
sleep(seconds)
函数可以让程序暂停运行,睡眠等待,传入参数以秒为单位
for i in range(3,-1,-1):
print('倒计时:',i)
if i !=0:
time.sleep(1)
else:
print('Go!')
2、datetime模块
datetime模块丰富的日期和时间处理相关函数,比time模块更加高级
2.1、now方法
now()
方法是指获取当前时间,默认返回格式是:YYYY-MM-DD HH:MM:SS.mmmmmm
import datetime
import time
#获取当前时间
date = datetime.datetime.now()
print(date)
print('year:',date.year)
print('month:',date.month)
print('day:',date.day)
print('hour:',date.hour)
print('minute:',date.minute)
print('second:',date.second)
2.2、strftime方法
strftime(fmt)
方法是按照自定义的格式化对日期和时间进行格式化,fmt是格式化符号
date = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
print('自定义格式:',date)
2.3、fromtimestamp方法
fromtimestamp(timestamp)
方法是将时间戳timestamp以日期的形式进行格式化,默认返回格式是:YYYY-MM-DD HH:MM:SS.mmmmmm
#默认格式
print(datetime.datetime.fromtimestamp(time.time()))
#自定义格式
print(datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S'))
2.4、timedelta类
timedelta类是datetime模块内置的时间间隔类,可以通过传入参数:days,hours,minutes,seconds,milliseconds,microseconds,weeks
的值来创建指定时间间隔对象
today = datetime.datetime.today()
print("今天:",today.strftime('%Y-%m-%d'))
days = datetime.timedelta(days=2)
print("后天:",(today+days).strftime('%Y-%m-%d'))

关注微信公众号『编程与读书』
第一时间了解最新项目源码动态
关注博主不迷路~