栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

从0开始学Python(七、关于时间的模块的详解)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从0开始学Python(七、关于时间的模块的详解)

目录
    • 1.time模块
      • 1.1struct_time类
      • 1.2常用函数
      • 1.3strftime()函数的使用说明
    • 2.datetime模块
      • 2.1date类
      • 2.2time类
      • 2.3datetime类

1.time模块

time模块提供了很多与时间相关的类和函数,下面我会介绍一些经常用到的。

1.1struct_time类

time模块的struct_time类代表一个时间对象,可以通过访问索引和属性名访问数值。对应的关系如下图所示:

索引属性数值
0tm_year(年)1921
1tm_mon(月)1 - 12
2tm_mday(日)1 - 31
3tm_hour(小时)0 - 23
4tm_min(分)0 - 59
5tm_sec(秒)0 - 60
6tm_wday(周)0 - 6
7tm_yday(一年内的第几天)1 - 366
8tm_isdst(夏时令)-1、0、1

localtime()表示当前时间,返回类型为struct_time对象,用法如下:

import time
t = time.localtime()
print(f'当前时间为{t}')
print(f'现在是{t.tm_year}年,{t.tm_mon}月{t.tm_mday}日。')

输出:

当前时间为time.struct_time(tm_year=2021, tm_mon=12, tm_mday=20, tm_hour=14, tm_min=49, tm_sec=52, tm_wday=0, tm_yday=354, tm_isdst=0)
现在是2021年,12月20日。
1.2常用函数
函数描述
time()返回当前时间的时间戳
gmtime(secs)将时间戳转换为格林威治天文时间下的struct_time,可选参数seces表示从epoch到现在的描述,默认为当前时间
localtime(secs)与gmtime()类似,返回当地时间的struct_time
mktime(t)localtime()的反函数
asctime(t)接受一个struct_time表示的时间,返回的形式为:Mon Dec 3 09 11:53:02 202 的字符串
ctime(secs)ctime(secs)相当于asctime(localtime(secs))

epoch: 1970-01-01 00:00:00 UTC

1.3strftime()函数的使用说明
符号描述
%a本地化的缩写型其中每日的名称
%b本地化的月的缩写名称
%c本地化的日期和时间表示
%d十进制表示的月中的日
%H十进制表示的小时(24小时制)
%l十进制表示的小时(12小时制)
%m十进制表示的月
%M十进制表示的分钟
%S十进制表示的秒
%Y十进制表示的带世纪的年份
%Z时区名称

用法如下:

import time
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))

输出:

2021-12-20 15:02:39
2.datetime模块

datetime模块重新封装了time模块,提供了更多的接口,变得更加直观和易于调用。

2.1date类

date类表示一个由年、月、日组成的日期,格式为datetime.date(year, month, day)。

方法如下:

方法说明
today()返回当地的当前时间
mindate所能表示的最小日期
maxdate所能表示的最大日期

用法如下:

import datetime
print(datetime.date.today())
print(datetime.date.min)
print(datetime.date.max)

输出:

2021-12-20
0001-01-01
9999-12-31

一些方法和属性如下所示:

方法描述
replace(year,month,day)生成一个新的日期对象,用参数指定的年、月、日代替原有对象中的属性
timetuple()返回日期对应的struct_time对象
weekday()返回一个整数代表星期几(初始为0)
isoweekday()返回一个整数代表星期几(初始为1)
isoformat()返回格式如YYYY-MM-DD的字符串
year
month
day

用法如下:

import datetime
t = datetime.date.today()
print(t.weekday())
print(t.year)
print(t.timetuple())

输出:

0
2021
time.struct_time(tm_year=2021, tm_mon=12, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=354, tm_isdst=-1)
2.2time类

time 类表示由时、分、秒、微秒组成的时间,格式为:time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)。
方法和属性如下图所示:

方法描述
isoformat()返回 HH:MM:SS 格式的字符串
replace(hour, minute, second, microsecond, tzinfo, * fold=0)创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性
strftime(format)返回自定义格式的字符串
hour
minute
second
microsecond微秒
tzinfo时区

用法如下:

import datetime
t = datetime.time()
print(t.hour)
print(t.tzinfo)
print(t.isoformat())

输出:

0
None
00:00:00
2.3datetime类

datetime 包括了 date 与 time 的所有信息,格式为:datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0),参数范围值参考 date 类与 time 类。
方法和属性如下图所示:

方法描述
today()返回当地的当前时间
mow(tz=None)类似于today,可选择时区
utcnow()返回当前UTC时间
combine(date,time)根据date和time返回对应时间

用法如下:

import datetime

print(datetime.datetime.hour)
print(datetime.datetime.now())
print(datetime.datetime.today())

输出:


2021-12-20 15:18:42.298486
2021-12-20 15:18:42.298486
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674502.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号