本文实例讲述了Python计时相关 *** 作。分享给大家供大家参考,具体如下:
内容目录:
1. 时间戳
2. 当前时间
3. 时间差
4. python中时间日期格式化符号
5. 例子
一、时间戳
时间戳是自 1970 年 1 月 1 日(08:00:00 GMT)至当前时间的总秒数。它也被称为 Unix 时间戳(Unix Timestamp),它在unix、c的世界里随处可见;常见形态是浮点数,小数点后面是毫秒。两个时间戳相减就是时间间隔(单位:秒)。
例:
import timetime1 = 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 Now2016-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',t1t1 2016-04-29-00-00-00>>> print 't2',t2t2 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 - starttime0:00:07.390988>>> print (endtime - starttime).seconds7>>> print (endtime - starttime).microseconds390988
文件的时间戳
>>> 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_mtime1201865413.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 datetimefrom datetime import timedeltaimport calendarDATE_FMT = '%Y-%m-%d'DATETIME_FMT = '%Y-%m-%d %H:%M:%s'DATE_US_FMT = '%d/%m/%Y''''''格式化常用的几个参数Y : 1999y :99m : mouth 02 12M : minute 00-59S : secondd : dayH : 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)*31def lastFirday(): today = datetime.today() targetDay = calendar.FRIDAY thisDay = today.weekday() de = (thisDay - targetDay) % 7 res = today - timedelta(days=de) print resdef 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:262013-01-31 12:00:01year: 2016 month: 5 day: 18hour: 10 minute: 41 second: 13weekday: 32001-01-29 11:01:022001-01-29 11:01:022000-12-30 11:01:022016-05-13 10:41:37.001000
PS:本站还提供了几款关于Unix时间戳转换及日期在线工具,非常实用,提供给大家参考:
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在线万年历日历:
http://tools.jb51.net/bianmin/wannianli
在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python日期与时间 *** 作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串 *** 作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录 *** 作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
总结以上是内存溢出为你收集整理的Python计时相关 *** 作详解【time,datetime】全部内容,希望文章能够帮你解决Python计时相关 *** 作详解【time,datetime】所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)