打印时间

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: 当前时区的名称,如:中国标准时间

results matching ""

    No results matching ""