时间:2021-05-22
今天是边复习边创作博客的第三天,我今年大二,我们专业开的有这门课程,因为喜欢所以更加认真学习,本以为没人看呢,看了后台浏览量让我更加认真创作,这篇博客花了2个半小时的时间,结合自己所学,所思,所想写作,目的是为了方便喜欢Python的小白学习,也是一种自我鞭策吧!
python语言使用内置time库和datetime库来处理日期时间
相关术语的解释
以time库为例,调用其它库类似
from time import * (*代表time包含所有的时间处理函数,用到某个也可单定义,调用函数时直接使用,比如:clock())import time (调用函数方式,比如:time.clock())import time as t (自定义库的名称,调用时方便,比如:t.clock())以上面第三种库调用方式举例
1.时间获取:t.time();t.ctime();t.gmtime() #每种获取时间不一样,根据需求使用
2.程序计时:t.clock();t.perf_counter() #使用方式一样
3.时间格式化:t.strftime(format,t);t.strptime(string,format)
#format表示要定义的格式,t表示获取的时间,string表示字符串类型时间
字符串格式化:%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)
4.程序休眠:t.sleep()
打印结果:
C:\Users\86185\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/86185/PycharmProjects/untitled/Python复习/hk.py
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=12, tm_min=22, tm_sec=39, tm_wday=2, tm_yday=358, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=19, tm_min=23, tm_sec=20, tm_wday=2, tm_yday=358, tm_isdst=-1)
20/12/23 20:22:39
Process finished with exit code 0
time模块主要用于时间访问和转换,这个模块提供了各种与时间相关的函数。
方法/属性 描述 time.altzone 返回与utc时间的时间差,以秒为单位(西区该值为正,东区该值为负)。其表示的是本地DST 时区的偏移量,只有daylight非0时才使用。 time.clock() 返回当前进程所消耗的处理器运行时间秒数(不包括sleep时间),值为小数;该方法Python3.3改成了time.process_time() time.asctime([t]) 将一个tuple或struct_time形式的时间(可以通过gmtime()和localtime()方法获取)转换为一个24个字符的时间字符串,格式为: "Fri Aug 19 11:14:16 2016"。如果参数t未提供,则取localtime()的返回值作为参数。 time.ctime([secs]) 功能同上,将一个秒数时间戳表示的时间转换为一个表示当前本地时间的字符串。如果参数secs没有提供或值为None,则取time()方法的返回值作为默认值。ctime(secs)等价于asctime(localtime(secs)) time.time() 返回时间戳(自1970-1-1 0:00:00 至今所经历的秒数) time.localtime([secs]) 返回以指定时间戳对应的本地时间的 struct_time对象(可以通过下标,也可以通过 .属性名 的方式来引用内部属性)格式 time.localtime(time.time() + n*3600) 返回n个小时后本地时间的 struct_time对象格式(可以用来实现类似crontab的功能) time.gmtime([secs]) 返回指定时间戳对应的utc时间的 struct_time对象格式(与当前本地时间差8个小时) time.gmtime(time.time() + n*3600) 返回n个小时后utc时间的 struct_time对象(可以通过 .属性名 的方式来引用内部属性)格式 time.strptime(time_str, time_format_str) 将时间字符串转换为struct_time时间对象,如:time.strptime('2017-01-13 17:07', '%Y-%m-%d %H:%M') time.mktime(struct_time_instance) 将struct_time对象实例转换成时间戳 time.strftime(time_format_str[, struct_time_instance]) 将struct_time对象实例转换成字符串,如果struct_time_instance不指定则取当前本地时间对应的time_struct对象datetime库是基于time库进行了封装;以import datetime as dt 为datetime库调用方式
1.date:表示的是日期对象 #dt.date
2.time;表示的是时间对象 #dt.time ;一般不用date和time函数,datetime函数包含其功能
3.datetime:表示的是日期时间对象#dt.datetime.now()表示获取当前时间;dt.strftime(format) # 按照 format 进行格式化输出
4.timedelta:主要用于定义计算时间跨度 #t=dt.timedelat(hours=10)表示定义时间跨度是10小时
用分隔符'''分类展示如下:
import datetime as dtnow = dt.datetime.now() # 获取当前datetimeprint(now)输出结果:2019-05-07 16:28:07.198690'''d = dt.date(2020, 12, 23)print(d)print('year:', d.year)print('month:', d.month)print('day:', d.day)输出结果:2020-12-23year: 2020month: 12day: 23''''''date1=dt.date(2020,12,23)timedel=dt.timedelta(days=4)#表示时间跨度为4天print('四天后的日期是:', date1+timedel)输出结果:四天后的日期是:2020-12-27'''最后配上一段小程序:文本进度条打印程序分析
import timescale = 100 #这个可以随意设置,看需求print("执行开始".center(scale//2,'-'))# .center(a,'b')函数是居中符,这条程序是将“执行开始”居中占字符为scale//2(可看需求自定义),b为填充符starttime = time.clock() #time库内置函数,第一次使用是开始计时for i in range(scale+1): a = '*' * i #将'*'字符随i的增加而增加 b = '.' * (scale - i) #将'.'字符随‘*'增加而减少,两个字符总数是scale的初始值数量 c = (i/scale) * 100 #求百分比 t = time.clock()-starttime #计算时间,第二次调用time.clock函数表示计时结束 print("\r{:^3.0f}%[{}->{}]{:.2}s".format(c,a,b,t),end="")#字符格式化,看需求,自己玩就是咋好看咋格式化 time.sleep(0.05) #time.sleep()函数表示让程序休眠,里面参数是休眠时间根据需求随意定义print("\n"+"执行结束".center(scale//2,'-'))#同上;"\n表示换行打印";"+"连接符,具有连接功能关于datetime模块的datetime类会在下面做详细讲解,这里简单说下time.struct_time。
time.struct_time包含如下属性:
下标/索引 属性名称 描述 0 tm_year 年份,如 2017 1 tm_mon 月份,取值范围为[1, 12] 2 tm_mday 一个月中的第几天,取值范围为[1-31] 3 tm_hour 小时, 取值范围为[0-23] 4 tm_min 分钟,取值范围为[0, 59] 5 tm_sec 秒,取值范围为[0, 61] 6 tm_wday 一个星期中的第几天,取值范围为[0-6],0表示星期一 7 tm_yday 一年中的第几天,取值范围为[1, 366] 8 tm_isdst 是否为夏令时,可取值为:0 , 1 或 -1
属性值的获取方式有两种:
需要说明的是struct_time实例的各个属性都是只读的,不可修改。
到此这篇关于python语言time库和datetime库基本使用详解的文章就介绍到这了,更多相关python time库和datetime库内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1介绍datetime库之前我们先比较下time库和datetime库的区别先说下time在Python文档里,time是归类在GenericOperating
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.
python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。datetime以毫秒
不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到datetime和time标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法
先简单的了解下日期和时间数据类型及工具python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模