您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 嘉峪关分类信息网,免费分类信息发布

Python计时相关操作的详细介绍

2025/5/12 15:50:53发布6次查看
这篇文章主要介绍了python计时相关操作,涉及time,datetime模块的使用技巧,包括时间戳、时间差、日期格式等操作方法,需要的朋友可以参考下
本文实例讲述了python计时相关操作。分享给大家供大家参考,具体如下:
内容目录:
1. 时间戳
2. 当前时间
3. 时间差
4. python中时间日期格式化符号
5. 例子
一、时间戳
时间戳是自 1970 年 1 月 1 日(08:00:00 gmt)至当前时间的总秒数。它也被称为 unix 时间戳(unix timestamp),它在unix、c的世界里随处可见;常见形态是浮点数,小数点后面是毫秒。两个时间戳相减就是时间间隔(单位:秒)。
例:
import time time1 = time.time() time.sleep(15) time2 = time.time() print time2 - time1
其中,time.sleep()是休眠函数,单位:秒。
二、当前时间
>>> import datetime,time >>> now = time.strftime("%y-%m-%d %h:%m:%s") >>> print now 2016-04-30 17:02:26 >>> now = datetime.datetime.now() >>> print now
三、时间差
#1 昨天00:00到昨天23:59
>>> import datetime >>> yestoday = datetime.datetime.now() - datetime.timedelta(days=1) >>> t1 = "%s-00-00-00" % yestoday.strftime("%y-%m-%d") >>> t2 = "%s-23-59-59" % yestoday.strftime("%y-%m-%d") >>> print 't1', t1 t1 2016-04-29-00-00-00 >>> print 't2', t2 t2 2016-04-29-23-59-59
#2 现在往后10小时
>>> d1 = datetime.datetime.now() >>> d3 = d1 + datetime.timedelta(hours=10) >>> d3.ctime() 'sun may 1 03:09:58 2
#3 这么一会的秒数、微妙数(注意是取秒、微妙部分,并不是等价转换)
>>> import datetime >>> starttime = datetime.datetime.now() >>> endtime = datetime.datetime.now() >>> starttime = datetime.datetime.now() >>> endtime = datetime.datetime.now() >>> print endtime - starttime 0:00:07.390988 >>> print (endtime - starttime).seconds 7 >>> print (endtime - starttime).microseconds 390988
文件的时间戳
>>> import os >>> statinfo=os.stat(r"c:/1.txt") >>> statinfo (33206, 0l, 0, 0, 0, 0, 29l, 1201865413, 1201867904, 1201865413)
注:使用os.stat的返回值statinfo中的后三项是文件的st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间),例如,取得文件修改时间:
>>> statinfo.st_mtime 1201865413.8952832
注:这个时间是一个linux时间戳,可以转换成易于理解的格式:
>>> import time >>> time.localtime(statinfo.st_ctime) (2008, 2, 1, 19, 30, 13, 4, 32, 0)
注:2008年2月1日的19时30分13秒(2008-2-1 19:30:13)
四、python中时间日期格式化符号
%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 当前时区的名称
%% %号本身
五、例子
#! coding:utf-8 ''''' 日期相关的操作 ''' from datetime import datetime from datetime import timedelta import calendar date_fmt = '%y-%m-%d' datetime_fmt = '%y-%m-%d %h:%m:%s' date_us_fmt = '%d/%m/%y' ''''' 格式化常用的几个参数 y : 1999 y :99 m : mouth 02 12 m : minute 00-59 s : second d : day h : hour ''' def datetostr(date): '''''把datetime类型的时间格式化自己想要的格式''' return datetime.strftime(date, datetime_fmt) def strtodate(strdate): '''''把str变成日期用来做一些操作''' return datetime.strptime(strdate, datetime_fmt) def timeelement(): '''''获取一个时间对象的各个元素''' now = datetime.today() print 'year: %s month: %s day: %s' %(now.year, now.month, now.day) print 'hour: %s minute: %s second: %s' %(now.hour, now.minute, now.second) print 'weekday: %s ' %(now.weekday()+1) #一周是从0开始的 def timeadd(): ''''' 时间的加减,前一天后一天等操作 datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]]) 参数可以是正数也可以是负数 得到的对象可以加也可以减 乘以数字和求绝对值 ''' atime = timedelta(days=-1) now = datetime.strptime('2001-01-30 11:01:02', datetime_fmt) print now + atime print now - abs(atime) print now - abs(atime)*31 def lastfirday(): today = datetime.today() targetday = calendar.friday thisday = today.weekday() de = (thisday - targetday) % 7 res = today - timedelta(days=de) print res def test(): print datetostr(datetime.today()) print strtodate('2013-01-31 12:00:01') timeelement() timeadd() lastfirday() if name=='main': test()
结果
connected to pydev debugger (build 141.1899) 2016-05-18 10:40:26 2013-01-31 12:00:01 year: 2016 month: 5 day: 18 hour: 10 minute: 41 second: 13 weekday: 3 2001-01-29 11:01:02 2001-01-29 11:01:02 2000-12-30 11:01:02 2016-05-13 10:41:37.001000
以上就是python计时相关操作的详细介绍的详细内容。
嘉峪关分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product