Python 时间详解(time)

文章目录

  • 1 获取
    • 1.1 当前时间戳:time()
    • 1.2 本地结构化时间:localtime()
    • 1.3 世界结构化时间:gmtime()
  • 2 转换
    • 2.1 结构化时间 -> 时间戳:mktime()
    • 2.2 时间戳 -> 可读性时间字符串:ctime()
    • 2.3 结构化时间 -> 可读性时间字符串:asctime()
  • 3 时间格式化
    • 3.1 标准格式:%Y、%m、%d 等
    • 3.2 结构化时间 -> 指定格式的字符串:strftime()
    • 3.3 指定格式的字符串 -> 结构化时间:strptime()
  • 4 其它
    • 4.1 睡眠:sleep()

1 获取

1.1 当前时间戳:time()

  • "1970 年 1 月 1 日 00:00:00" UTC当前时间秒数
  • 返回值:时间戳,如:1701354126.7494054
import time

timestamp = time.time()
print(f'当前时间戳是:{timestamp}')
# 1701748405.276349

1.2 本地结构化时间:localtime()

  • 返回值:struct_time 对象(结构化对象)
  • 如:time.struct_time(tm_year=2023, tm_mon=11, tm_mday=30, tm_hour=22, tm_min=25, tm_sec=32, tm_wday=3, tm_yday=334, tm_isdst=0)
import time

local_time = time.localtime()
print(f'当前本地时间是:{local_time}')

1.3 世界结构化时间:gmtime()

  • gmtime() 函数与 localtime() 函数的作用类似
  • 但将当前时间转换为 GMT 时间(世界标准时间)
import time

gmtime = time.gmtime()
print(f'当前世界结构化时间是:{gmtime}')

2 转换

2.1 结构化时间 -> 时间戳:mktime()

import time

local_time = time.localtime()
timestamp = time.mktime(local_time)
print(f"本地结构化时间:{local_time},时间戳:{timestamp}")

gmtime = time.gmtime()
timestamp = time.mktime(gmtime)
print(f"世界结构化时间:{local_time},时间戳:{timestamp}")

2.2 时间戳 -> 可读性时间字符串:ctime()

import time

timestamp = time.time()
print(f"当前时间戳是:{timestamp}")
# 1701747421.5214298

time_string = time.ctime(timestamp)
print(f"当前时间字符串是:{time_string}")
# Tue Dec  5 11:37:01 2023

2.3 结构化时间 -> 可读性时间字符串:asctime()

import time

local_time = time.localtime()
print(f"local_time 结构化时间是:{local_time}")
# time.struct_time(
# tm_year=2023, tm_mon=12, tm_mday=5,
# tm_hour=11, tm_min=38, tm_sec=58,
# tm_wday=1, tm_yday=339, tm_isdst=0)

time_string = time.asctime(local_time)
print(f"local_time 当前时间字符串是:{time_string}")
# Tue Dec  5 11:38:58 2023

print('---------------------------------')
# gmtime 同理
gmtime = time.gmtime()
print(f"gmtime 结构化时间是:{gmtime}")

time_string = time.asctime(gmtime)
print(f"gmtime 当前时间字符串是:{time_string}")

3 时间格式化

3.1 标准格式:%Y、%m、%d 等

格式符 含义
%Y
%m
%d
%H
%M
%S
%a 星期的简称
%A 星期的全称
%b 月份的简称
%B 月份的全称
%c 日期和时间
%x 日期(不含时间)
%X 时间(不含日期)

3.2 结构化时间 -> 指定格式的字符串:strftime()

import time

local_time = time.localtime()
print(f"本地结构化时间:{local_time}")
# time.struct_time(tm_year=2023, tm_mon=12, tm_mday=5, 
# tm_hour=11, tm_min=31, tm_sec=5, 
# tm_wday=1, tm_yday=339, tm_isdst=0)

# String Format Time
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(f"字符串格式化时间是:{format_time}")
# 2023-12-05 11:31:05

# 若参数为空,默认当前时间
print(time.strftime("%Y-%m-%d %H:%M:%S"))
# 2023-12-05 11:31:05

3.3 指定格式的字符串 -> 结构化时间:strptime()

import time

string_format_time = "2023-11-30 23:07:47"
print(f"转换前的时间是:{string_format_time}")
# 2023-11-30 23:07:47

# String Parse Time (格式化字符串时间 -> 结构化时间)
struct_time = time.strptime(string_format_time, "%Y-%m-%d %H:%M:%S")
print(f"转换后的时间是:{struct_time}")
# time.struct_time(tm_year=2023, tm_mon=11, tm_mday=30, 
# tm_hour=23, tm_min=7, tm_sec=47, 
# tm_wday=3, tm_yday=334, tm_isdst=-1)

4 其它

4.1 睡眠:sleep()

import time

print("开始执行程序")
time.sleep(3)  # 睡眠 3 秒
print("3秒后,程序继续执行")

你可能感兴趣的:(Python,python,时间,time)