Python中怎么对时间进行处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
## time ##
# time.time
time模块中时间的表示是以时间戳的形式,时间戳就是一种时间的计数方法,不用去纠结。然后我们看一下,time模块中需要学习的方法。
import time
now = time.time()
print now
# 1496065442.08
首先可以使用time.time方法查看当前时间,结果他返回的是十四亿九千六百零六万五千四百四十四.零八。这表示什么,我想看下几点了, 你给我显示这个?!别急,time模块的计数方法是以1970年1月1日12点为计数起点,就是0.然后每过1秒就加1.所以刚才哪个是十四亿多,过去的四十多年的时间的以秒来计就这么多。
那这个有什么用呢,我嫌的没事,数过去有多少秒?其实这个方法是比较常用的,一般用在计算程序的运行时间上,比如:
start_time = time.time()
one_plus = range(100)
for x in one_plus:
z = x + 100
print time.time() - start_time
# 0.000999927520752
而计算程序时间的好处是什么呢? 时间就是生命,时间就是金钱啊!当我们发现我们的开发的算法,变得异常的慢的时候,是不是应该考虑程序哪里是不是出了问题。还有在训练算法的时候,有意识的计算一下每一个epoch的运行时间,可以分析一下,整个程序运行完需要多少时间。
# time.ctime(), time.localtime()
c_time = time.ctime()
print c_time
# Mon May 29 21:58:26 2017
local_time = time.localtime()
print local_time
# time.struct_time(tm_year=2017, tm_mon=5,
tm_mday=29, tm_hour=21, tm_min=58, tm_sec=26,
tm_wday=0, tm_yday=149, tm_isdst=0)
localtime()返回的是当地时间,包括年份,月份,日期,小时,分钟,秒,星期几,由0-6依次表示星期一到星期天。tm_yday表示一年中的第多少天,最后一个表示是不是夏令时,0表示否。
# time.strftime和time.strptime
strftime是一个常用的方法,用来格式化输出时间,格式化输出的意思是按照给定的格式来输出时间。当然这个格式也不是由你自己随便给格式,要符合Python的格式。strftime可以把time类型的时间,转化为str字符型。而striptime刚好相反,是把字符型的时间,转换为时间类型。看个栗子
import time
print time.strftime("%Y_%M_%d_%H_%M_%S")
# 2017_16_29_22_16_13
print time.strptime('2017-5-29', '%Y-%M-%d')
# time.struct_time(tm_year=2017, tm_mon=1, tm_mday=29,
tm_hour=0, tm_min=5, tm_sec=0, tm_wday=6, tm_yday=29,
tm_isdst=-1)
print time.strptime("2017_5_29.22:21:45",
"%Y_%m_%d.%H:%M:%S")
# time.struct_time(tm_year=2017, tm_mon=5,
tm_mday=29, tm_hour=22, tm_min=21, tm_sec=45,
tm_wday=0, tm_yday=149, tm_isdst=-1)
## datetime ##
# datetime.datetime, datetime.now, datetime. strftime
datetime返回的是我们见的比较多的输出形式,now可以获得现在的日期,strfttime就是格式化输出的函数,它适合time类,也适合datetime类。然后我们对比一下不同的格式所对应的输出的区别,这里基本把所有可能的输出都包括了,剩下的就是自己可以随意组合。主要区别在于大小写,以及不同字母表示的意义。这个没必要记哈,我觉得,找一个自己看着顺眼的输出格式,然后每次用的时候,就用那个就行了。
from datetime import datetime
now = datetime.now()
# # print
print now.strftime("%Y")
print now.strftime("%Y_%B")
print now.strftime("%Y_%B_%d")
print now.strftime("%Y_%B_%d.%H")
print now.strftime("%Y_%B_%d.%H_%M")
print now.strftime("%Y_%B_%d.%H_%M_%S")
# 2017
# 2017_May
# 2017_May_29
# 2017_May_29.22
# 2017_May_29.22_30
# 2017_May_29.22_30_26
from datetime import datetime
now = datetime.now()
# # print
print now.strftime("%y")
print now.strftime("%y_%m")
print now.strftime("%y_%m_%d")
print now.strftime("%y_%m_%d.%I")
print now.strftime("%y_%m_%d.%I_%m")
print now.strftime("%y_%m_%d.%I_%m_%f")
# 17
# 17_05
# 17_05_29
# 17_05_29.10
# 17_05_29.10_05
# 17_05_29.10_05_562000 # 毫秒输出
看完上述内容,你们掌握Python中怎么对时间进行处理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。