
使用time模块的timelocaltime()获取当前日期,使用calendar模块calendarmonthrange的来获取指定月份的天数。即可得到月初日期和月末日期,代码如下:
import calendarimport time
day_now = timelocaltime()
day_begin = '%d-%02d-01' % (day_nowtm_year, day_nowtm_mon) # 月初肯定是1号
wday, monthRange = calendarmonthrange(day_nowtm_year, day_nowtm_mon) # 得到本月的天数 第一返回为月第一日为星期几(0-6), 第二返回为此月天数
day_end = '%d-%02d-%02d' % (day_nowtm_year, day_nowtm_mon, monthRange)
print('月初日期为:',day_begin, '月末日期为:',day_end)
效果如下:
#这段可以用到你的程序中
import time
def t():
a = timetime() # 开始时间
print(a)
timesleep(5) # 休息5秒
b = timetime()
print(b) # 结束时间
print('程序运行了%s秒' % round(b - a, 3))
t()
(1)在程序启动时获得当前时间:
recordTime = timetime()
(2)同时获得当前时间的格式化串:
startTime = timestrftime("%H%M%S")
(3)在主循环中按秒进行判断:
timeGap = timetime() - recordTime
if timeGap >= 1: #这是按1秒设置的,可以根据实际需要设置
recordTime += timeGap
showTime_String = get_lapseTime(startTime, timestrftime("%H%M%S"))
(4)函数:
def get_lapseTime(aTime, bTime):
aNum = 3600 int(aTime[:2]) + 60 int(aTime[2:4]) + int(aTime[-2:])
bNum = 3600 int(bTime[:2]) + 60 int(bTime[2:4]) + int(bTime[-2:])
gapH = (bNum - aNum) // 3600
gapM = ((bNum - aNum) % 3600) // 60
gapS = ((bNum - aNum) % 3600) % 60
gapTime = "%02d:%02d:%02d"%(gapH,gapM,gapS)
return(gapTime)
这里我们要用到的是python的内置模块,time模块。
顾名思义,这是一个和时间有关的模块。
导入time模块。
import time
第一步要做的就是从1970纪元后到目前为止度过的秒数(浮点类型)。
其实想要获得这个秒数,只有一个方法,就是通过time模块内的time方法来获得。
即timetime()
但是,timetime返回的这个高精度浮点数我们并不能准确的得到我们想要的当前时间。我们只知道这是从1970到目前为止已经过了多少秒。
这里我们还需要使用一个方法来把秒数变成当前的时间戳。
这时我们就要用到另外一个方法,localtime方法,该方法的参数为我们刚刚所说的1970年到目前为止的秒数,返回值为一个叫struct_time结构体,如果不懂什么叫结构体,没关系,也可以理解为localtime方法返回一个struct_time对象。
timelocaltime(timetime())
可以看到localtime方法的返回结果,从单词的字面上我们也能大概了解到:
前缀tm为time,year为年份,mon为月份,mday为日,hour为时,min为分,sec为秒等等
但是我们想要的并不是这种结果,我们想要获得一个易于理解的数据。
常见的asctime类型,例如显示结果如Wed Feb 13 15:46:11 2018
如果小伙伴常用Linux对这种类型显然不会陌生,在linux上,我们使用date命令,不进行时间格式化的话,就会输出这种形式的时间。
例如小编这里虚拟机内的linux,运行date的输出结果如图。
格式为:星期几 月份 日数 时:分:秒 年份
注意的是,在linux上的date默认会输出时间区域,例如默认的美国时间EDT,或者修改为我们大陆的北京时间CTS。
这里提供两种方法进行struct_time数据格式化。
第一种就是第4步讲述的asctime格式,我们调用time模块内的asctime方法即可,参数为struct_time对象数据,返回字符串,即asctime格式当前日期时间。
timeasctime(timelocaltime(timetime()))
'Wed Apr 4 20:27:15 2018'
翻译成中文是:
星期三 四月 4 20:27:15 2018
还有一个数据格式化的方法是time模块内提供的strftime方法。
str timestrftime(格式转化字符,时间戳)
格式转化字符如下:
%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 本地AM或PM的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
这里常用的小编就进行了加粗,其实常用的就是这几个。一定要记住的是:
%Y = 年,%m = 月,%d = 日,%H = 24制时,%M = 分,%S = 秒。
那么知道转化符的意义之后,我们做起来就很简单了。
例如我们可以获得当前时间和日期,然后获得当前是一年中的第几天,然后获得当前的时区
timestrftime("当前日期:%Y年%m月%d日",timelocaltime(timetime()))
#获得当前日期
timestrftime("当前时间:%H时%M分%S秒",timelocaltime(timetime()))
#获得当前时间
timestrftime("今天是%Y年的第%j天,时区为%Z",timelocaltime(timetime()))
代码只能在python3中有效运行,python2需要使用print输出(否则中文会变成16进制字符)。
python2运行如下,加上print即可:
print(timestrftime("当前日期:%Y年%m月%d日",timelocaltime(timetime())))
#获得当前日期
print(timestrftime("当前时间:%H时%M分%S秒",timelocaltime(timetime())))
#获得当前时间
print(timestrftime("今天是%Y年的第%j天,时区为%Z",timelocaltime(timetime())))
import os,time
timectime(osstat("c:/1txt")st_mtime) #文件的修改时间
timectime(osstat("c:/1txt")st_ctime) #文件的创建时间
timelocaltime(osstat("F:/logtxt")st_mtime) #文件访问时间 适合计算时间
ModifiedTime=timelocaltime(osstat("F:/logtxt")st_mtime) #文件访问时间
y=timestrftime('%Y', ModifiedTime)
m=timestrftime('%m', ModifiedTime)
d=timestrftime('%d', ModifiedTime)
H=timestrftime('%H', ModifiedTime)
M=timestrftime('%M', ModifiedTime)
d2=datetimedatetime((int)y,(int)m,(int)d,(int)H,(int)M)
同理d1
(d1-d2)seconds #为d1与d2相隔十分钟 !
取得时间相关的信息的话,要用到python
time模块,python
time模块里面有很多非常好用的功能,你可以去官方
文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年到现在时间相隔的时间。
你可以试下下面的方式来取得当前时间的时间戳:
import
time
timetime()
>>> import time
>>> print timestrftime("%Y-%m-%d %H:%M %p", timelocaltime())
2014-11-14 17:54 PM
以上就是关于python 获取当前月份月初日期和月末日期全部的内容,包括:python 获取当前月份月初日期和月末日期、python关于圆周率中如何使用time程序代码库的计时方法获得程序运行时间、Python如何获得程序运行时间的格式化显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)