时间格式

time有三种表示方式

  • 时间戳:time.time(),表示从1970年1月1日至今的读秒数;

    import time
    print(time.time())
    # --------运行结果如下:--------
    # 1481510314.4319692
  • 结构化时间:time.struct_time,为一个元组,包含年、日等,time.localtime();

    索引 属性
    0 tm_year(年) 如2016
    1 tm_mon(yue) 1-12
    2 tm_mday(日) 1-31
    3 tm_hour(时) 0-23
    4 tm_min(分) 0-59
    5 tm_sec(秒) 0-61
    6 tm_wday(一周中的星期几) 0-6(0表示星期日)
    7 tm_yday(一年中的第几天) 1-366
    8 tm_isdst(是否夏令时) 默认为-1
    import time
    print(time.localtime())
    # --------运行结果如下:--------
    # time.struct_time(tm_year=2016, tm_mon=12, tm_mday=12, tm_hour=10, tm_min=55, # tm_sec=43, tm_wday=0, tm_yday=347, tm_isdst=0)
  • 格式化的字符串:time.strftime("%Y-%m-%d %H:%M:%S", p_tuple=None),指定格式,输出对应格式的字符串;p_tuple默认为None,即输出当前时间的格式化字符串,也可以指定一个结构化时间(struct_time),输出指定时间的格式化字符串;

    import time
    print(time.strftime("%Y-%m-%d %H:%M:%S"))
    # --------运行结果如下:--------
    # 2016-12-12 10:50:52

时间格式的相互转换

代码示例如下:

import time
'''结构化时间-->格式化字符串时间'''
format_time_string = time.strftime("%Y-%m-%d %H:%M:%S")
# print结果:2016-12-12 11:42:02
'''格式化字符串时间-->结构化时间'''
struct_time_obj01 = time.strptime("2016-12-12 10:50:52", "%Y-%m-%d %H:%M:%S")
# print结果:time.struct_time(tm_year=2016, tm_mon=12, tm_mday=12, tm_hour=10, tm_min=50, tm_sec=52, tm_wday=0, tm_yday=347, tm_isdst=-1)

'''结构化时间-->时间戳'''
timestamp_obj = time.mktime(struct_time_obj01)
# print结果:1481511052.0
'''时间戳-->结构化时间'''
struct_time_obj02 = time.gmtime(timestamp_obj)
# print结果:time.struct_time(tm_year=2016, tm_mon=12, tm_mday=12, tm_hour=2, tm_min=50, tm_sec=52, tm_wday=0, tm_yday=347, tm_isdst=0)
'''时间戳-->结构化时间'''
struct_time_obj03 = time.localtime(timestamp_obj)
# print结果:time.struct_time(tm_year=2016, tm_mon=12, tm_mday=12, tm_hour=10, tm_min=50, tm_sec=52, tm_wday=0, tm_yday=347, tm_isdst=0)

'''结构化时间-->格式化时间字符串'''
time_string01 = time.asctime(struct_time_obj01)
# print结果:Mon Dec 12 10:50:52 2016
'''结构化时间-->格式化时间字符串'''
time_string02 = time.ctime(timestamp_obj)
# print结果:Mon Dec 12 10:50:52 2016

asan713
3 声望0 粉丝