time,datetime 模块

 

Python中,通常有三种方式来表示时间:

时间戳(timestamp):从1970年1月1日00:00:00,开始按秒计算的偏移量。

print( time.time() )      # 1592383284.6180453

格式化的时间字符串(Format String):

print(time.strftime("%Y-%m-%d %X"))    # 2020-06-17 16:41:24

结构化的时间(struct_time):

print( time.localtime() )     # 本地时区  time.struct_time(tm_year=2020, tm_mon=6, tm_mday=17, tm_hour=16, tm_min=41, tm_sec=24, tm_wday=2, tm_yday=169, tm_isdst=0)
print( time.gmtime() )        # UTC时区  time.struct_time(tm_year=2020, tm_mon=6, tm_mday=17, tm_hour=8, tm_min=41, tm_sec=24, tm_wday=2, tm_yday=169, tm_isdst=0)

  

 

三种方式转换关系:

 

# 时间戳,转换为 结构化时间
print( time.localtime() )       # time.struct_time(tm_year=2020, tm_mon=6, tm_mday=17, tm_hour=17, tm_min=5, tm_sec=12, tm_wday=2, tm_yday=169, tm_isdst=0)       
print( time.gmtime() )      # time.struct_time(tm_year=2020, tm_mon=6, tm_mday=17, tm_hour=9, tm_min=5, tm_sec=12, tm_wday=2, tm_yday=169, tm_isdst=0)
print( time.localtime(1473525444.037215) )        # 指定,转换的 时间戳

# 结构化时间,转换为 时间戳
print(time.mktime(time.localtime()))

# 结构化时间,转换为 格式化时间
print(time.strftime("%Y-%m-%d %X", time.localtime()))

# 格式化时间,转换为 结构化时间
print(time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X'))

 

 

 

 

# asctime([t]) : 把一个表示时间的元组或者struct_time,表示为这种形式:'Sun Jun 20 23:21:05 1993'。
# 如果没有参数,将会将time.localtime()作为参数传入。
print(time.asctime())      # Wed Jun 17 17:18:15 2020

# ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。
# 如果参数未给或者为
None的时候,将会默认time.time()为参数。
# 它的作用相当于time.asctime(time.localtime(secs))。
print(time.ctime())         # Wed Jun 17 17:18:15 2020 print(time.ctime(time.time()))  # Wed Jun 17 17:18:15 2020

 

 

 

datetime

print(datetime.datetime.now())                       # 2020-06-17 17:25:51.835678
print(datetime.date.fromtimestamp(time.time()) )             # 2020-06-17
print(datetime.datetime.now() + datetime.timedelta(3))       # 当前时间+3天    2020-06-20 17:25:51.836678
print(datetime.datetime.now() + datetime.timedelta(days=-3))   # 当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(days=-1)*3) # 当前时间-3天 print(datetime.datetime.now() + datetime.timedelta(hours=3))   # 当前时间+3小时 print(datetime.datetime.now() + datetime.timedelta(minutes=30)) # 当前时间+30分

# 时间替换
c_time = datetime.datetime.now()        # 2020-06-17 17:28:33.258911
print(c_time.replace(minute=3,hour=2))     # 2020-06-17 02:03:33.258911

 

posted on 2020-06-17 16:47  二十四岁半  阅读(142)  评论(0编辑  收藏  举报

导航