Python time 模块

目录

time模块

一、时间格式转换图:

二、代码

三、struct_time格式介绍及format_time结构化表示


time模块

 time模块中时间表现的格式主要有三种:

  a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

  b、struct_time时间元组,共有九个元素组。

  c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

一、时间格式转换图:

二、代码

# encoding: utf-8

"""
@author: sunxianpeng
@file: time_test.py
@time: 2019/12/1 16:02
"""
import time

def between_struct_time_and_timestamp():
    print("#####################struct_time 和 timestamp 之间的转换#####################")
    print('************生成timestamp**************')
    # 1 生成timestamp
    print('1 timestamp = {}'.format(time.time()))#1 timestamp = 1575188363.801
    print('************struct_time to timestamp**************')
    # 2 struct_time to timestamp
    # struct_time = time.struct_time(tm_year=2019, tm_mon=12, tm_mday=1, tm_hour=16, tm_min=17, tm_sec=10, tm_wday=6,
    #                                tm_yday=335, tm_isdst=0)
    localtime = time.localtime()
    timestamp = time.mktime(localtime)
    print('2 struct_time = {}'.format(localtime))
    print('2 timestamp = {}'.format(timestamp))#timestamp = 1575188363.0
    print('************timestamp to struct_time 本地时间**************')
    #3 生成 struct_time,timestamp to struct_time 本地时间
    localtime = time.localtime(time.time())
    # struct_time = time.struct_time(tm_year=2019, tm_mon=12, tm_mday=1, tm_hour=16, tm_min=17, tm_sec=10, tm_wday=6,
                                   # tm_yday=335, tm_isdst=0)
    print('3 struct_time = {}'.format(localtime))
    print('************timestamp to struct_time 格林威治时间**************')
    gmtime = time.gmtime()
    # time.struct_time(tm_year=2019, tm_mon=12, tm_mday=1, tm_hour=8, tm_min=23, tm_sec=52, tm_wday=6, tm_yday=335,
    #                  tm_isdst=0)
    print('gmtime = {}'.format(gmtime))
    print('格林威治时间 = {}'.format(time.gmtime(time.time())))

def between_format_time_and_struct_time():
    print("#####################format_time 和 struce_time 之间的转换#####################")
    print('************format_time to struct_time**************')
    format_time = '2019-12-01 16:37:06'
    format = '%Y-%m-%d %X'

    struct_time = time.strptime(format_time,format)
    print('1 format time = {}'.format(format_time))
    print('1 struct time = {}'.format(struct_time))
    # 1 format time = 2019-12-01 16:37:06
    # 1 structtime = time.struct_time(tm_year=2019, tm_mon=12, tm_mday=1, tm_hour=16, tm_min=37, tm_sec=6, tm_wday=6, tm_yday=335,
    #                         tm_isdst=-1)
    print('************struct_time to format_time**************')
    format_time_1 = time.strftime(format)
    format_time_2 = time.strftime(format,time.localtime())
    print('2 format_time_1 = {}'.format(format_time_1))
    print('2 format_time_2 = {}'.format(format_time_2))
    # 2 format_time_1 = 2019-12-01 16:42:27
    # 2 format_time_2 = 2019-12-01 16:42:27

def other_time_op():
    print("#####################其他操作#####################")
    print('************生成固定格式的时间表示格式**************')
    # 生成固定格式的时间表示格式
    t1 = time.asctime(time.localtime())#Sun Dec  1 16:39:50 2019
    t2 = time.ctime(time.time())#Sun Dec  1 16:39:50 2019
    print('1 t1 = {}'.format(t1))
    print('1 t2 = {}'.format(t2))
    # 1 t1 = Sun Dec  1 16:44:57 2019
    # 1 t2 = Sun Dec  1 16:44:57 2019
    print('************time加减**************')
    # timestamp加减单位以秒为单位
    t3 = time.time()
    t4 = t3 + 10
    print('2 t3 = {}'.format(t3))
    print('2 t4 = {}'.format(t4))
    #2 t3 = 1575189897.4310002
    # 2 t4 = 1575189907.4310002

if __name__ == '__main__':
    # between_struct_time_and_timestamp()
    between_format_time_and_struct_time()
    other_time_op()

三、struct_time格式介绍及format_time结构化表示

格式含义
%a本地(locale)简化星期名称
%A本地完整星期名称
%b本地简化月份名称
%B本地完整月份名称
%c本地相应的日期和时间表示
%d一个月中的第几天(01 - 31)
%H一天中的第几个小时(24小时制,00 - 23)
%I第几个小时(12小时制,01 - 12)
%j一年中的第几天(001 - 366)
%m月份(01 - 12)
%M分钟数(00 - 59)
%p本地am或者pm的相应符
%S秒(01 - 61)
%U一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。
%w一个星期中的第几天(0 - 6,0是星期天)
%W和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x本地相应日期
%X本地相应时间
%y去掉世纪的年份(00 - 99)
%Y完整的年份
%Z时区的名字(如果不存在为空字符)
%%‘%’字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值