欢迎访问宙启技术站
智能推送

Python时间模块:strftime、strptime等时间函数详解

发布时间:2023-06-24 16:05:24

Python 中的时间模块(time)是处理时间和日期的基础模块之一。它提供了各种与时间相关的功能,包括计算日期、转换不同的时间格式以及获取当前的日期和时间等。在这些功能中,strftime 和 strptime 是两个最常用的方法。本文将为您详细介绍它们的使用方法。

一、strftime

strftime 方法是用于将日期和时间格式化为字符串的方法。在 Python 中,日期和时间的格式很多,使用 strftime 将日期和时间格式化后,就可以按照自己需要的格式显示。下面是 strftime 函数的语法格式:

strftime(format[, tuple])

其中,format 是字符串格式,表示日期和时间的输出格式,tuple 是可选的,可以是一个 9 元组,其中每个元素的含义如下:

(tm_year, tm_mon, tm_mday, tm_hour,
tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)

参数格式化

在 strftime 方法中,有一些格式化字符常用来格式化日期和时间。下面是常用的一些字符:

- %Y:四位数的年份

- %m:两位数的月份(01~12)

- %d:两位数的日份(01~31)

- %H:24 小时制的小时数(00~23)

- %M:两位数的分钟数(00~59)

- %S:两位数的秒数(00~59)

还有其他一些格式化字符,您可以在 Python 的官方文档中查看。

示例

将当前的时间按照不同的格式化方式进行输出。

import time

# 输出当前的年月日
print(time.strftime("%Y-%m-%d"))

# 输出当前的时分秒
print(time.strftime("%H:%M:%S"))

# 输出当前的完整日期和时间
print(time.strftime("%Y-%m-%d %H:%M:%S"))

# 输出当前的年份和季度
t = time.localtime()
quarter = (t.tm_mon - 1) // 3 + 1
print("今年是{}年,第{}季度。".format(t.tm_year, quarter))

二、strptime

strptime 方法是用于将字符串解析为时间对象的方法。它是对 strftime 方法的反向操作。使用 strptime 方法可以将包含日期和时间信息的字符串解析为时间对象,然后可以使用 time 模块中的其他函数对时间进行操作。下面是 strptime 函数的语法格式:

strptime(string, format)

其中,string 是要解析的字符串,format 是对应的日期时间格式。

参数格式化

strptime 方法中的格式化字符和 strftime 方法相同。在解析字符串时,也需要使用相应的格式化字符来匹配字符串中的日期和时间信息。

示例

使用 strptime 将指定格式的字符串解析为时间对象。

import time

# 将字符串转换为时间对象
str_time = "2022-06-10 10:00:00"
time_obj = time.strptime(str_time, "%Y-%m-%d %H:%M:%S")

# 输出时间对象的各个属性
print(time_obj.tm_year)   # 输出年份
print(time_obj.tm_mon)    # 输出月份
print(time_obj.tm_mday)   # 输出日份
print(time_obj.tm_hour)   # 输出小时
print(time_obj.tm_min)    # 输出分钟
print(time_obj.tm_sec)    # 输出秒数

参考资料

- Python 官方文档:https://docs.python.org/3/library/time.html