不为成仙,只为在这红尘中等你回来。

您现在的位置是:网站首页>>Python

Python3 时间模块 time

2020年7月8日 09:03 | 分类:Python | 标签: Python

在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串。

  • 时间戳 (浮点数 秒为单位)
    • time.time()
    • 时间戳表示的是从 1970年1月1日00:00:00 (英国伦敦时间)开始按秒计算的偏移量。
    • 1970年1月1日08:00:00 (东8区北京时间)
  • 格式化时间 (str 数据类型)
  • 结构化时间 (元祖)

时间戳 --> 格式化时间

import time

timestamp = time.time()
print(timestamp)  # 1594167801.9490435
struct_time = time.localtime(timestamp)  # 时间戳 --> 结构化时间
print(struct_time)
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=8, tm_hour=8, tm_min=23, tm_sec=21, tm_wday=2, tm_yday=190, tm_isdst=0)
fmt = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)  # 结构化时间 --> 格式化时间
print(fmt)  # 2020-07-08 08:23:21

格式化时间 --> 时间戳

import time

fmt = '2020-07-08 08:23:21'
struct_time = time.strptime(fmt, "%Y-%m-%d %H:%M:%S")  # 格式化时间 --> 结构化时间
print(struct_time)
# time.struct_time(tm_year=2020, tm_mon=7, tm_mday=8, tm_hour=8, tm_min=23, tm_sec=21, tm_wday=2, tm_yday=190, tm_isdst=-1)
timestamp = time.mktime(struct_time)  # 结构化时间 --> 时间戳
print(timestamp)  # 1594167801.0

时间格式之间的转换

  • gmtime:英国伦敦时间
  • localtime:东8区北京时间
  • strftime:str format time
  • strptime:str parse time

写函数,计算本月1号的时间戳时间

def get_timestamp():
    fmt = time.strftime("%Y-%m-01")
    struct_time = time.strptime(fmt, "%Y-%m-%d")
    timestamp = time.mktime(struct_time)
    return timestamp

ret = get_timestamp()
print(ret)