python time模块学习

#!/usr/bin/python
#coding:utf8


# 在应用程序的开发过程中,难免要跟日期、时间处理打交道。
# 如:记录一个复杂算法的执行时间;网络通信中数据包的延迟等等。
# Python中提供了time, datetime calendar等模块来处理时间日期,
# 今天对time模块中最常用的几个函数作一个介绍。

# 导入时间模块
import time 

# time.time()函数返回的是从1970年1月1日以来的秒数,这是一个浮点型小数
#——————————————————————————————————————————————————————————————————
yesterday  time.time() - 86400      #代表昨天数这个时候的时间
today = time.time()                 #代表今天的时间
tomorrow = time.time() + 86400      #带表明天的时间

#out1>  1382686284.44
#out2>  1382772684.44
#out3>  1382859084.44
#——————————————————————————————————————————————————————————————————


#time.sleep()一般用再进程方面,主要做用挂起当前进程,表示睡眠的时间,
	# 是以秒做单位的
#——————————————————————————————————————————————————————————————————
time.sleep(2)
print '两秒后执行打印'

#间隔两秒执行 out>  两秒后执行打印
#——————————————————————————————————————————————————————————————————


# time.clock()返回第一次调用该方法到现在的秒数,其精确度高于1微秒。可
# 	以使用该函数来记录程序执行的时间。下面是一个简单的例子:
#——————————————————————————————————————————————————————————————————
print time.clock()             #初始clock时间   
time.sleep(2)
print time.clock()             #距离初始值得时间2秒 
date_time =  time.clock()
time.sleep(3)
print time.clock()             #距离初始值得时间5秒
print time.clock() - date_time    #表示中间的时间

# out1 >   6.39362683277e-07
# out2 >   2.01080107349
# out3 >   5.02091962732
# out4 >   3.00097215096
#——————————————————————————————————————————————————————————————————


# time.gmtime()该函数的模型是time.gmtime([sec]),sec表示从1970-1-1以来的秒数,
# 	其中默认值为time.time(),函数返回值习time.struct_time类型的对象(
# 		struct_time是在time模块中定义的表示时间的对象),
#——————————————————————————————————————————————————————————————————
print time.gmtime()   			#获取当时的时间,并返回时间的对象(struct_time)
print time.gmtime(time.time() - 24*60*60)    #表示昨天当时的时间

#out1 > time.struct_time(tm_year=2013, tm_mon=10, tm_mday=26, tm_hour=8, tm_min=0, tm_sec=9, tm_wday=5, tm_yday=299, tm_isdst=0)
#out2 > time.struct_time(tm_year=2013, tm_mon=10, tm_mday=25, tm_hour=8, tm_min=0, tm_sec=9, tm_wday=4, tm_yday=298, tm_isdst=0)
#——————————————————————————————————————————————————————————————————


# time.localtime()这个函数与time.gmtime()函数非常相似,也返回一个struct_time对象,
# 	可以吧time.localtime看做time.gmtime的一个本地化操作
#——————————————————————————————————————————————————————————————————
print time.localtime()

#out > time.struct_time(tm_year=2013, tm_mon=10, tm_mday=26, tm_hour=8, tm_min=0, tm_sec=9, tm_wday=5, tm_yday=299, tm_isdst=0)
#——————————————————————————————————————————————————————————————————


# time.mktime()执行是与time.gmtime()和time.localtime()相反的操作,他接受的struct_time对象
# 	返回用的浮点型表示的秒数
#——————————————————————————————————————————————————————————————————
print time.mktime(time.localtime())
print time.mktime(time.gmtime())
print time.time()

# out1 > 1382774990.0
# out2 > 1382746190.0
# out3 > 1382774990.14
#——————————————————————————————————————————————————————————————————


# time.strftime()将日期转换为字符串表示,它的函数原型为:time.strftime(format[, t])。
# 	参数format是格式字符串(格式字符串的知识可以参考:time.strftime),
# 	可选的参数t是一个struct_time对象。下面的例子将struct_time对象转换为字符串表示:
#——————————————————————————————————————————————————————————————————
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())    #输出当地是时间的日期
print time.strftime('%Y')                    #获取年份
print time.strftime('%H')                   #获取小时的时间

#out 1> 2013-10-26 16:15:16
#out 2> 2013
#out 3> 16
#——————————————————————————————————————————————————————————————————

# time.strptime()按指定格式解析一个表示时间的字符串,返回struct_time对象。
# 	该函数原型为:time.strptime(string, format),两个参数都是字符串,
# 	下面是一个简单的例子,演示将一个字符串解析为一个struct_time对象:

#——————————————————————————————————————————————————————————————————
print time.strptime('2009-06-23 15:30:53', '%Y-%m-%d %H:%M:%S')  #返回struct_time对象
print time.strptime('2009', '%Y')   #如果只是给年份的,器他的参数将会表示为出的值

#out 1> time.struct_time(tm_year=2009, tm_mon=6, tm_mday=23, tm_hour=15, tm_min=30, tm_sec=53, tm_wday=1, tm_yday=174, tm_isdst=-1)
#out 2> time.struct_time(tm_year=2009, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=-1)
#——————————————————————————————————————————————————————————————————


# time.ctime()也是是以个浮点型的秒数转化为时间字符串
#——————————————————————————————————————————————————————————————————
d_time  = time.time()
print time.ctime(d_time)    #输出的格式与 '2013-10-26 16:29:30' 这个不一样

# out >  Sat Oct 26 17:06:11 2013     
#——————————————————————————————————————————————————————————————————


# time.asctime()获取当前的时间以简化方式显示(可选参数struct_time对象)
#——————————————————————————————————————————————————————————————————
print time.asctime(time.localtime())           #参数可选
print time.asctime()


# out 1>  Sat Oct 26 17:24:46 2013
# out 2>  Sat Oct 26 17:24:46 2013
#——————————————————————————————————————————————————————————————————



#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  # %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 当前时区的名称
  # %% %号本身 
# 下面是一个练习,
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++






# 练习1(日期的转化成秒)
#——————————————————————————————————————————————————————————————————
d_time = '2013-10-26 16:29:30'
# 首先将时间格式的转分分struct_time对象( 运用time.strptime()方法 )
d_obj = time.strptime(d_time,'%Y-%m-%d %H:%M:%S')        #注意格式要对应

#在的用time.mktime()模块将struct_time的对象转化为秒数
s_time = time.mktime(d_obj)
print s_time

# out 1> 1382776170.0
#——————————————————————————————————————————————————————————————————




time.gmtime() 与 time.localtime()的不同:
>>> time.strftime('%Y%m%d %H:%M:%S',time.gmtime(time.time()))
'20131202 03:00:24'
>>> time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))
'20131202 11:00:27' 

两个获取字符串的时间相差(4个小时)


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值