从入门到自闭之Python时间模块

time模块:import time

  1. time.time():时间戳,是一个浮点数,按秒来计算

  2. time.sleep():睡眠,程序暂停多少秒执行

  3. python中时间日期格式化符号:

    必背
    
    %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 当前时区的名称 
    %% %号本身
    
  4. 时间格式转换:

    1. 时间戳(以秒计算)---> 结构化时间
      • time.localtime(time.time)---是一个命名元祖,可以使用索引和名字查
    2. 结构化时间 (2019-09-13 09:30:00)---> 字符串时间,有8个小时的时差,使用时减去八小时
      • time.strftime("%Y-%m-%d %H:%M:%S","结构化时间")
    3. 字符串时间 ---> 结构化时间
      • time.strptime("时间字符串",“%Y-%m-%d %H:%M:%S”)
    4. 结构化时间 ----> 时间戳
      • time.mktime(结构化时间)
  5. 总结:

    # time.time() 时间戳
    # time.sleep() 睡眠
    # time.localtime() 时间戳转结构化
    # time.strftime() 结构化转字符串
    # time.strptime() 字符串转结构化
    # time.mktime() 结构化转时间戳
    

datetime模块

  1. 格式:from datetime import datetime

  2. datetime.now():获取当前时间 2019-08-24 14:47:46.428588

  3. 获取指定时间:datetime(2019,08,22,12,56,00)

  4. datetime(对象)----> 时间戳

    d = datetime.now()
    print(d.timestamp())
    
    输出结果:1566629391.388825
    
  5. 时间戳(秒) --- > 对象,使用fromtimestamp

    from datetime import datetime
    import time
    f_t = time.time()
    print(datetime.fromtimestamp(f_t))
    
    结果:2019-08-24 14:45:05.664260
    
  6. 字符串--- > 对象(格式:2019-09-13 14:52:44)

    d = "2018-12-31 10:11:12"
    datetime.strptime(d,"%Y-%m-%d %H:%M:%S")
    输出结果:2018-12-31 10:11:12
    
  7. 对象 ----> 字符串():如果已经有了datetime对象,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样# 需要一个日期和时间的格式化字符串

    d = datetime.now()
    d.strftime("%Y-%m-%d %H:%M:%S")
    
    输出结果:2019-08-24 15-21-23
    
  8. datetime 的加减,先导入模块 from datetime import datetime,timedelta

    对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+和-运算符,不过需要导入timedelta这个类:
    
    1. 减:timedelta ,最大只能按周减

    2. 加也是一样

      from datetime import datetime, timedelta
      now = datetime.now()
      now
      datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
      now + timedelta(hours=10)
      datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
      now - timedelta(days=1)
      datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)
      now + timedelta(days=2, hours=12)
      datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)
      
  9. 指定datetime时间

    current_time = datetime.datetime.now()
    print(current_time.replace(year=1977))  # 直接调整到1977年
    print(current_time.replace(month=1))  # 直接调整到1月份
    print(current_time.replace(year=1989,month=4,day=25))  # 1989-04-25 18:49:05.898601
    
原文地址:https://www.cnblogs.com/heyulong1214/p/11528118.html