大佬教程收集整理的这篇文章主要介绍了Python计时相关操作详解【time,datetime】,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
本文实例讲述了Python计时相关操作。分享给大家供大家参考,具体如下:
内容目录:
1. 时间戳@H_772_7@ 2. 当前时间@H_772_7@ 3. 时间差@H_772_7@ 4. python中时间日期格式化符号@H_772_7@ 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 datetiR_582_11845@e,time >>> now = time.strftime("%Y-%m-%d %H:%M:%S") >>> print now 2016-04-30 17:02:26 >>> now = datetiR_582_11845@e.datetiR_582_11845@e.now() >>> print now
三、时间差
#1 昨天00:00到昨天23:59
>>> import datetiR_582_11845@e >>> yestoday = datetiR_582_11845@e.datetiR_582_11845@e.now() - datetiR_582_11845@e.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 = datetiR_582_11845@e.datetiR_582_11845@e.now() >>> d3 = d1 + datetiR_582_11845@e.timedelta(hours=10) >>> d3.ctime() 'Sun May 1 03:09:58 2
#3 这么一会的秒数、微妙数(注意是取秒、微妙部分,并不是等价转换)
>>> import datetiR_582_11845@e >>> starttime = datetiR_582_11845@e.datetiR_582_11845@e.now() >>> endtime = datetiR_582_11845@e.datetiR_582_11845@e.now() >>> starttime = datetiR_582_11845@e.datetiR_582_11845@e.now() >>> endtime = datetiR_582_11845@e.datetiR_582_11845@e.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,29L,1201865413,1201867904,1201865413)
注:使用os.stat的返回值staTinfo中的后三项是文件的st_atime (访问时间),st_mtime (修改时间),st_ctime(创建时间),例如,取得文件修改时间:
>>> staTinfo.st_mtime 1201865413.8952832
注:这个时间是一个linux时间戳,可以转换成易于理解的格式:
注:2008年2月1日的19时30分13秒(2008-2-1 19:30:13)
四、python中时间日期格式化符号
%y 两位数的年份表示(00-99)@H_772_7@ %Y 四位数的年份表示(000-9999)@H_772_7@ %m 月份(01-12)@H_772_7@ %d 月内中的一天(0-31)@H_772_7@ %H 24小时制小时数(0-23)@H_772_7@ %I 12小时制小时数(01-12)@H_772_7@ %M 分钟数(00=59)@H_772_7@ %S 秒(00-59)@H_772_7@ %a 本地简化星期名称@H_772_7@ %A 本地完整星期名称@H_772_7@ %b 本地简化的月份名称@H_772_7@ %B 本地完整的月份名称@H_772_7@ %c 本地相应的日期表示和时间表示@H_772_7@ %j 年内的一天(001-366)@H_772_7@ %p 本地A.m.或P.m.的等价符@H_772_7@ %U 一年中的星期数(00-53)星期天为星期的开始@H_772_7@ %w 星期(0-6),星期天为星期的开始@H_772_7@ %W 一年中的星期数(00-53)星期一为星期的开始@H_772_7@ %x 本地相应的日期表示@H_772_7@ %X 本地相应的时间表示@H_772_7@ %Z 当前时区的名称@H_772_7@ %% %号本身
五、例子
#! coding:utf-8 ''''' 日期相关的操作 ''' from datetiR_582_11845@e import datetiR_582_11845@e from datetiR_582_11845@e import timedelta import calendar DATE_FMT = '%Y-%m-%d' datetiR_582_11845@E_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): '''''把datetiR_582_11845@e类型的时间格式化自己想要的格式''' return datetiR_582_11845@e.strftime(date,datetiR_582_11845@E_FMT) def strToDate(strdatE): '''''把str变成日期用来做一些操作''' return datetiR_582_11845@e.strptime(strdate,datetiR_582_11845@E_FMT) def timeElement(): '''''获取一个时间对象的各个元素''' now = datetiR_582_11845@e.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(): ''''' 时间的加减,前一天后一天等操作 datetiR_582_11845@e.timedelta([days[,seconds[,microseconds[,milliseconds[,minutes[,hours[,weeks]]]]]]]) 参数可以是正数也可以是负数 得到的对象可以加也可以减 乘以数字和求绝对值 ''' atime = timedelta(days=-1) now = datetiR_582_11845@e.strptime('2001-01-30 11:01:02',datetiR_582_11845@E_FMT) print now + atime print now - abs(atimE) print now - abs(atimE)*31 def lastFirday(): today = datetiR_582_11845@e.today() targetDay = calendar.FRIDAY thisDay = today.weekday() de = (thisDay - targetDay) % 7 res = today - timedelta(days=dE) print res def test(): print dateToStr(datetiR_582_11845@e.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
PS:本站还提供了几款关于Unix时间戳转换及日期在线工具,非常实用,提供给大家参考:
Unix时间戳(timestamp)转换工具:@H_772_7@ http://tools.jb51.net/code/unixtime
在线日期/天数计算器:@H_772_7@ http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:@H_772_7@ http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:@H_772_7@ http://tools.jb51.net/bianmin/yinli2yangli
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
以上是大佬教程为你收集整理的Python计时相关操作详解【time,datetime】全部内容,希望文章能够帮你解决Python计时相关操作详解【time,datetime】所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。