打印时间
import time
print(time.strftime('%Y-%m-%d %H:%M:%S')) # time.strftime(format[, tuple]) 将指定的struct_time(默认为当前时间),
根据指定的格式化字符串输出,打印如: 2011-04-13 18:30:10
print(time.strftime('%Y-%m-%d %A %X', time.localtime(time.time()))) # 显示当前日期;
打印如: 2011-04-13 Wednesday 18:30:10
print(time.strftime("%Y-%m-%d %A %X", time.localtime())) # 显示当前日期; 打印如: 2011-04-13 Wednesday 18:30:10
print(time.time()) # 以浮点数形式返回自Linux新世纪以来经过的秒数; 打印如: 1302687844.7;
使用 time.localtime(time.time()) 可返转回 time 类型
print(time.ctime(1150269086.6630149)) #time.ctime([seconds]) 把秒数转换成日期格式的字符串,如果不带参数,
则显示当前的时间。打印如: Wed Apr 13 21:13:11 2011
print(time.gmtime(1150269086.6630149)) # time.gmtime([seconds]) 将一个时间戳转换成一个UTC时区(0时区)
的struct_time,如果seconds参数未输入,则以当前时间为转换标准
print(time.gmtime()) # 打印如: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=27, tm_hour=7,
tm_min=28, tm_sec=19, tm_wday=2, tm_yday=239, tm_isdst=0)
print(time.localtime(1150269086.6630149)) # time.localtime([seconds]) 将一个时间戳转换成一个当前时区的
struct_time,如果seconds参数未输入,则以当前时间为转换标准
print(time.mktime(time.localtime())) # time.mktime(tuple) 将一个以struct_time转换为时间戳(float类型),
打印如:1409124869.0
格式转换
from datetime import datetime
datetime.strptime('2017 Sep 21 14:16:52', '%Y %b %d %H:%M:%S').strftime('%Y-%m-%d %H:%M:%S')
# 获取当前时间的具体值(年、月、日、时、分、秒)
print(time.localtime()) # 打印如: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=27, tm_hour=15,
tm_min=10, tm_sec=16, tm_wday=2, tm_yday=239, tm_isdst=0)
print(time.localtime()[:]) # 打印如: (2014, 8, 27, 15, 10, 16, 2, 239, 0)
# 取上一月月份
print(time.localtime()[1]-1) # 打印如: 7
# 取两个月后的月份
print(time.localtime()[1]+2) # 打印如: 10
# 取去年年份
print(time.localtime()[0]-1) # 打印如: 2013
# 获取时间戳
import time, datetime
print(time.time()) # 打印如: 1409127119.16
print time.mktime(time.strptime('2012-10-21 18:51:50', '%Y-%m-%d %H:%M:%S')) 指定时间的
print(long(time.time())) # 打印如: 1409127119
print(time.mktime( datetime.datetime.now().timetuple() )) # 打印如: 1409127119.0
print(long(time.mktime(time.strptime('2014-03-25 19:25:33', '%Y-%m-%d %H:%M:%S')))) # 打印如:1395746733
# 时间暂停两秒
import time
time.sleep(2)
# 获取今天、昨天、前几或者后几小时(datetime实现)
import datetime
# 得到今天的日期
print(datetime.date.today()) # 打印如: 2011-04-13
# 得到前一天的日期
print(datetime.date.today() + datetime.timedelta(days=-1)) # 打印如: 2011-04-12
print(datetime.date.today() - datetime.timedelta(days=1)) # 打印如: 2011-04-12
# 得到10天后的时间
print(datetime.date.today() + datetime.timedelta(days=10)) # 打印如: 2011-04-23
# 得到10小时后的时间,上面的 days 换成 hours
print(datetime.datetime.now() + datetime.timedelta(hours=10)) # 打印如: 2011-04-14 04:30:10.189000
# 获取明天凌晨 1 点的时间
d1 = datetime.datetime(*time.localtime()[:3]) + datetime.timedelta(days=1) + datetime.timedelta(hours=1)
# 打印如: 2011-04-13 01:00:00
print(time.mktime( d1.timetuple() )) # 获取时间戳打印如: 1409127119.0
# 获取今天、昨天、前几或者后几小时(time实现)
import time
# 取一天后的当前具体时间
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()+24*60*60)))
# 取20天后的当前具体时间
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()+20*24*60*60)))
# 取20天后当前具体时间的前2小时
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()+20*24*60*60-2*60*60)))
#两日期相减(也可以大于、小于来比较):
import datetime
# 指定具体时间的参数: datetime.datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)
print((d1 - d2).days) # 打印: 47
#运行时间:
import time,datetime
starttime = datetime.datetime.now()
time.sleep(1) # 暂停1秒
endtime = datetime.datetime.now()
print((endtime - starttime).seconds) # 秒, 打印: 1
print((endtime - starttime).microseconds) # 微秒(百万分之一秒); 打印: 14000
# 精确计算函数的运行时间
import time
start = time.clock()
func(*args, **kwargs) # 运行函数
end =time.clock()
print( 'used:' + str(end) ) # 耗时单位:秒
# 精确计算函数的运行时间2(实测发现 time.clock() 计算不严谨,前面用没用过很难确定)
import time
start = time.time()
func(*args, **kwargs) # 运行函数
end =time.time()
print( 'used:' + str(end - start) ) # 耗时单位:秒
# time.clock() 用法
clock() -> floating point number
该函数有两个功能,
在第一次调用的时候,返回的是程序运行的实际时间;
以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
import time
time.sleep(1)
print "clock1:%s" % time.clock() # 打印如: clock1:2.17698990094e-06
time.sleep(1)
print "clock2:%s" % time.clock() # 打印如: clock2:1.00699529055
time.sleep(1)
print "clock3:%s" % time.clock() # 打印如: clock3:2.00698720459
# 字符串 转成 时间 time
import time
s2='2012-02-16';
a=time.strptime(s2,'%Y-%m-%d')
print a # time.struct_time(tm_year=2012, tm_mon=2, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3,
tm_yday=47, tm_isdst=-1)
print type(a) # <type 'time.struct_time'>
print repr(a) # time.struct_time(tm_year=2012, tm_mon=2, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3,
tm_yday=47, tm_isdst=-1)
# 字符串 转成 时间 datetime
import datetime
date_str = "2008-11-10 17:53:59"
dt_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print dt_obj # 2008-11-10 17:53:59
print dt_obj.strftime('%Y-%m-%d %H:%M:%S') # 2008-11-10 17:53:59
print type(dt_obj) # <type 'datetime.datetime'>
print repr(dt_obj) # datetime.datetime(2008, 11, 10, 17, 53, 59)
# timestamp to time tuple in UTC
import time
timestamp = 1226527167.595983
time_tuple = time.gmtime(timestamp)
print repr(time_tuple) # time.struct_time(tm_year=2008, tm_mon=11, tm_mday=12, tm_hour=21, tm_min=59, tm_sec=27,
tm_wday=2, tm_yday=317, tm_isdst=0)
print time.strftime('%Y-%m-%d %H:%M:%S', time_tuple) # 2008-11-12 21:59:27
# timestamp to time tuple in local time (返转 time.time() 生成的时间戳)
import time
timestamp = 1226527167.595983
time_tuple = time.localtime(timestamp)
print repr(time_tuple) # time.struct_time(tm_year=2008, tm_mon=11, tm_mday=13, tm_hour=5, tm_min=59, tm_sec=27,
tm_wday=3, tm_yday=318, tm_isdst=0)
print time.strftime('%Y-%m-%d %H:%M:%S', time_tuple) # 2008-11-13 05:59:27
# datetime 转成 time
import time, datetime
# datetime 的 timetuple 函数可直接转成 time.struct_time
print(datetime.datetime.now().timetuple())
# 上行打印如:time.struct_time(tm_year=2014, tm_mon=8, tm_mday=27, tm_hour=16, tm_min=7, tm_sec=37, tm_wday=2,
tm_yday=239, tm_isdst=-1)
print(time.localtime())
# 上行打印如:time.struct_time(tm_year=2014, tm_mon=8, tm_mday=27, tm_hour=16, tm_min=7, tm_sec=37, tm_wday=2,
tm_yday=239, tm_isdst=0)
日期格式化符号:
%%: %号本身
%A: 本地星期(全称),如:Tuesday %a: 本地星期(简称),如:Tue
%B: 本地月份(全称),如:February %b: 本地月份(简称),如:Feb
%c: 本地相应的日期表示和时间表示,如:02/15/11 16:50:57
%d: 月内中的一天(0-31),如:15
%H: 24进制小时数(0-23)
%I: 12进制小时数(01-12)
%j: 年内的一天(001-366),如:046
%M: 分钟(00-59),如:50 %m: 月份(01-12),如:02
%p: 上下午(本地A.M.或P.M.的等价符),如:PM
%S: 秒钟(00-59),如:57 %f: 微秒数值(仅 datetime 类型有, time 类型用会报错)
%X: 本地的时间,如:16:50:57 %x: 本地的日期,如:02/15/11
%Y: 四位的年(000-9999) %y: 两位数的年份表示(00-99)
%U: 年里的星期数(00-53)从星期天开始,如:07
%W: 年里的星期数(00-53)从星期一开始,如:07
%w: 星期(0-6),星期天为星期的开始,如:2 (星期天为0)
%Z: 当前时区的名称,如:中国标准时间
%z: 当前时区的名称,如:中国标准时间