一、time模块的介绍
在Python中,time模块是一个常用的模块之一,它提供了与时间相关的函数和方法。下面是time模块中一些最常用的函数:
- time():返回当前系统时间的时间戳。
- ctime():返回当前系统时间的字符串形式。
- localtime([secs]):将一个时间戳(默认为当前时间)转换为本地时间,返回时间元组。
- strftime(format[, t]):将时间元组或 struct_time 对象转换为字符串。
- strptime(string[, format]):将字符串解析为时间元组。
二、time.strptime()的用法
time.strptime(string[, format]) 方法可以将一个指定格式的字符串解析为时间元组。其中 string 是一个字符串,format 是一个字符串,用来指定输入字符串的格式。如果不指定 format,则默认使用 %a %b %d %H:%M:%S %Y 格式。下面是一个示例:
import time # 将字符串 '2018-06-29 08:15:20' 转换为时间元组 time_tuple = time.strptime('2018-06-29 08:15:20', '%Y-%m-%d %H:%M:%S') print(time_tuple)
输出结果为:
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=29, tm_hour=8, tm_min=15, tm_sec=20, tm_wday=4, tm_yday=180, tm_isdst=-1)
三、将时间元组转换成字符串
通过 strftime() 方法可以将时间元组或 struct_time 对象转换为字符串。方法的第一个参数是时间格式字符串,该字符串可以包含各种 %Y、%m、%d、%H、%M、%S 等格式化占位符。以下是一个示例:
import time # 将时间元组转换成字符串 time_tuple = (2018, 6, 29, 8, 15, 20, 4, 180, -1) date_string = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple) print(date_string)
输出结果为:
'2018-06-29 08:15:20'
四、字符串和时间类型相互转换的示例
下面是一个示例,将一个时间元组转换成字符串,然后再将字符串转换成时间元组:
import time time_tuple = (2018, 6, 29, 8, 15, 20, 4, 180, -1) # 将时间元组转换成字符串 date_string = time.strftime('%Y-%m-%d %H:%M:%S', time_tuple) print('时间元组转成字符串:', date_string) # 将字符串 '2018-06-29 08:15:20' 转换为时间元组 new_time_tuple = time.strptime(date_string, '%Y-%m-%d %H:%M:%S') print('字符串转成时间元组:', new_time_tuple)
输出结果为:
时间元组转成字符串: 2018-06-29 08:15:20 字符串转成时间元组: time.struct_time(tm_year=2018, tm_mon=6, tm_mday=29, tm_hour=8, tm_min=15, tm_sec=20, tm_wday=4, tm_yday=180, tm_isdst=-1)
五、小结
Python中的time模块提供了丰富的时间相关函数和方法,其中 time.strptime() 可以将字符串解析为时间元组,再通过 strftime() 方法将时间元组转换成字符串,实现了字符串和时间类型之间的相互转换。该功能在日常开发工作中经常用到,是Python中时间处理的重要组成部分。