Python中的time模块

  1. 什么是UTC?
    UTC是世界同一时间(or世界标准时间)的意思,是英文 Coordinated Universal Time的简称。 是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。

  2. 什么是ISO-8601?
    国际标准化组织的国际标准ISO 8601是日期和时间的表示方法。
    ISO-8601中,日期和时间的组合表示法中要求:
    合并表示时,要在时间前面加一大写字母T,如要表示北京时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00或20040503T173008+08。

  3. time模块
    time 模块中时间的表现格式主要有:
    Timestamp(时间戳,可进行时间计算,以秒为单位)、struct_time(时间元组), Format string(格式化的时间)

    timestamp:是时间戳,一个能表示一份数据在某个特定时间之前已经存在的、 完整的、 可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。
    struct_time:是时间结构体,是一个时间元组包含了9个元素。
    Format String:格式化后的时间

    三种形式之间的转换可参考下图:
    在这里插入图片描述
    其中,struct_time的具体属性值参考下图:在这里插入图片描述

此外,Format String的时间日期格式化符号含义如下:
%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. time模块的常用函数:
    (1)通过time.time()获得当前时间戳
    (2)通过time.localtime(timestamp)、time.gmtime(timestamp),将时间戳转换成时间元组
    (3)通过time.mktime(p_tuple), 将时间元组转换成时间戳
    (4)通过time.strftime(format,p_tuple), 将时间元组格式化成string类型
    (5)通过time.strptime(string,format), 将字符串转化为时间元组
    (6)通过time.asctime(p_tuple) 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
    (7)通过time.ctime()获取当前时间,是易读的字符串格式,如:Mon Apr 29 08:21:53 2019
    (8)通过time sleep(secs) 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间
    (9)通过时间戳来对时间进行计算,时间戳的加减,是以秒为单位的

  2. time模块的相关实例:

import time

'''通过time.time()获得时间戳'''
a=time.time()       #通过time.time()获取的是时间戳,时间戳单位最适于做日期运算
print(a)            #输出了时间戳,1556419498.246484

'''通过time.localtime(timestamp)、time.gmtime(timestamp),将时间戳转换成时间元组'''
localtime=time.localtime(time.time())   #通过time.localtime获取当前时间的时间元组
print(localtime)    #输出时间元组:time.struct_time(tm_year=2019, tm_mon=4, tm_mday=28, tm_hour=10, tm_min=39, tm_sec=50, tm_wday=6, tm_yday=118, tm_isdst=0)

gmtime=time.gmtime(time.time())  #通过time.gmtime函数将一个时间戳转换为UTC时区(0时区)的struct_time
print(gmtime)   #输出了0时区的时间元组:time.struct_time(tm_year=2019, tm_mon=4, tm_mday=28, tm_hour=2, tm_min=44, tm_sec=58, tm_wday=6, tm_yday=118, tm_isdst=0)

'''通过time.mktime(p_tuple), 将时间元组转换成时间戳'''
mktime1=time.mktime(localtime)  #通过time.mktime将时间元组转化为时间戳
print(mktime1)                  #输出:1556422487.0
mktime2=time.mktime(gmtime)  #通过time.mktime将时间元组转化为时间戳
print(mktime2)               #输出: 1556393687.0

'''通过time.strftime(format,p_tuple), 将时间元组格式化成string类型'''
fs_time1=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))     #通过time.strftime(format,p_tuple)将时间元组格式化,第一个参数是格式,第二个参数是时间元组
print(fs_time1)      #输出:2019-04-28 11:39:55
fs_time2=time.strftime("%Y-%m-%d",time.localtime(time.time()))
print(fs_time2)      #输出:2019-04-28

'''通过time.strptime(string,format), 将字符串转化为时间元组'''
st_time1=time.strptime(fs_time1,'%Y-%m-%d %H:%M:%S')    #通过time.strptime(string,format)将字符串转化成时间元组,第一个参数是字符串,第二个参数是格式
print(st_time1)     #输出: time.struct_time(tm_year=2019, tm_mon=4, tm_mday=28, tm_hour=11, tm_min=50, tm_sec=25, tm_wday=6, tm_yday=118, tm_isdst=-1)

'''通过time.asctime(p_tuple) 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。'''
a=time.asctime(st_time1)
print(a)    #输出: Mon Apr 29 08:13:54 2019

'''通过time.ctime()获取当前时间,易读的字符串格式'''
b=time.ctime()
print(b)    #输出:Mon Apr 29 08:21:53 2019    是str类型

'''通过time sleep(secs) 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。'''
c=time.sleep(3)
d=time.ctime()
print(d)    #在输出b之后的30秒,再输出d,也就是 Mon Apr 29 08:25:57 2019


'''通过时间戳来对时间进行计算,时间戳的加减,是以秒为单位的'''
e=time.time()
print("当前时间是",time.ctime(e))    #输出:当前时间是 Mon Apr 29 08:38:44 2019
e1=e+10
print("增加10秒后的时间是:",time.ctime(e1)) #输出: 增加10秒后的时间是: Mon Apr 29 08:38:54 2019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值