Python中怎么对时间进行处理

Python中怎么对时间进行处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为坪山企业提供专业的成都网站制作、成都做网站、外贸营销网站建设坪山网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

##  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中怎么对时间进行处理的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文标题:Python中怎么对时间进行处理
文章位置:http://cdiso.cn/article/jecdjd.html

其他资讯