14. 模块-time模块

一、模块使用

1. 导入模块
    import time

2. 获取时间戳 - 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量
    time.time()
    ->1583204399.9016986

3. 时间戳->时间元组转换
    localtime = time.localtime(time.time())
    ->time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27,  tm_wday=3, tm_yday=98, tm_isdst=0)

4. 获取格式化时间
    (1)格式化成2016-03-20 11:45:39形式
        time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

    (2)格式化成Sat Mar 28 22:24:24 2016形式
        time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

    (3)将格式字符串转换为时间戳
        a = "Sat Mar 28 22:24:24 2016"
        time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

5. 获取UTC世界标准时间
    time.gmtime()

6. 睡眠时间
    time.sleep(1)

二、时间转换图

三、实例

import time

1.将字符串的时间"2017-10-10 23:40:00"转换为时间戳和时间元组
new_time = "2017-10-10 23:40:00"
format_time = time.strptime(new_time, "%Y-%m-%d %H:%M:%S")
stamp_time = time.mktime(format_time)
print(f"时间戳:{stamp_time},时间元组:{format_time}")

2.字符串格式更改。如提time="2017-10-10 23:40:00",想改为 time="2017/10/10 23:40:00"
one_time = "2017-10-10 23:40:00"
format_time_two = time.strptime(one_time, "%Y-%m-%d %H:%M:%S")
new_format_time = time.strftime("%Y/%m/%d %H:%M:%S", format_time_two)
print(new_format_time)

3.获取当前时间戳转换为指定格式日期
two_time = time.time()
struct_time_three = time.localtime(two_time)
format_time_three = time.strftime("%Y-%m-%d %H:%M:%S", struct_time_three)
print(format_time_three)

4.获得三天前的时间
threeAgo = time.time() - 60 * 60 * 24 * 3
threeAgo = time.localtime(threeAgo)  # 把时间戳转换为元组
print(time.strftime('%Y-%m-%d %H:%M:%S', threeAgo))

四、datetime模块

1. 模块导入
    import datetime

2. 获取当前时间
    datetime.datetime.now()

3. 当前时间+3天
    datetime.datetime.now() + datetime.timedelta(3)

4. 当前时间+3小时
    datetime.datetime.now() + datetime.timedelta(hours=3)

5. 时间戳->格式化时间
    datetime.date.fromtimestamp(time.time())

五、时间日期格式化符号

%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 当前时区的名称
%% %号本身
原文地址:https://www.cnblogs.com/hq82/p/12456793.html