time,datetime模块

time

import time

为什么要有time模块,time模块有什么用

  • 打印时间,还可以打印三种格式的时间(虽然并没有什么卵用),需要时间的地方就可以调用,还有暂停程序进行的功能
方法名 作用
sleep() 重要 睡眠
time() 时间戳
strftime() 格式化时间
localtime 重要 结构化时间

时间戳形式

print(time.time())     # python中是从1970年开始计算过去了多少秒
1560155784.7340243

格式化时间

  • 其中的格式需要自己定义
  • 可以自己选择合适的格式,便于进行处理
print(time.strftime('%Y-%m-%d %X'))
2019-06-10 16:37:53

结构化时间

  • 以某个地区的时间为准
print(time.localtime())  # 北京时间
print(time.gmtime())     # 格林威治时间,第一台计算机,和北京时差为8h
print(time.gmtime(0))    # 打印1970年的时间
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=16, tm_min=40, tm_sec=11, tm_wday=0, tm_yday=161, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=8, tm_min=40, tm_sec=11, tm_wday=0, tm_yday=161, tm_isdst=0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)

各种时间格式互相转换

  • 结构化时间转换为格式化时间
struct_time = time.localtime()
print(time.strftime('%Y-%m-%d', struct_time))
2019-06-10
  • 结构化时间转化为时间戳
print(time.mktime(struct_time))
1560156103.0
  • 格式化时间转化为结构化时间
format_time = time.strftime('%Y:%m:%d')
print(time.strptime(format_time, '%Y:%m:%d'))
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=161, tm_isdst=-1)
  • 时间戳转化为结构化时间
stamp_time = time.time()
print(time.localtime(stamp_time))
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=10, tm_hour=16, tm_min=48, tm_sec=42, tm_wday=0, tm_yday=161, tm_isdst=0)
  • 睡眠(重要)
time.sleep(2)

datetime

import datetime

为什么要有datetime模块,detatime模块有什么用

  • 时间的加减
  • 这个方法可以替代上面的time模块,因为time模块的三种模式,只有一种用的到,就是datetime的这种

datetime.now() 重要

  • 获取时间
  • 固定格式,可以用split把后面的时间进行切割处理
now = datetime.datetime.now()
print(now)
new = str(now).split()[0]
print(new)
2019-06-10 18:44:13.910789
2019-06-10

时间的计算

  • 默认加days,最高也只能是加days
  • 记住加s
print(now + datetime.timedelta(5))
print(now + datetime.timedelta(hours=3))
print(now + datetime.timedelta(minutes=30))
2019-06-15 18:44:13.910789
2019-06-10 21:44:13.910789
2019-06-10 19:14:13.910789

替换时间

print(now.replace(year=2017, month=6, day=4, hour=10, minute=0, second=0))
2017-06-04 10:00:00.910789
原文地址:https://www.cnblogs.com/lucky75/p/10999898.html