Python函数中如何实现时间格式转换?
在Python中,时间日期在程序中经常使用,有时候需要将时间和日期从一种格式转换成另一种格式。Python提供了多种用于操作时间和日期的函数和模块,可以方便地进行日期转换。本文将介绍常用的时间格式转换方法,为Python开发人员提供帮助。
时间格式
在Python中,常用的时间格式包括时间戳、时间元组和时间字符串。
时间戳是从1970年1月1日00:00:00开始到现在的秒数。可以通过time模块中的time()函数获取当前时间的时间戳,例如:
import time timestamp = time.time() print(timestamp) # 1629616075.270736
时间元组是包含了年、月、日、时、分、秒、周几等的元组,可以通过time模块中的localtime()函数获取当前时间的时间元组,例如:
import time time_tuple = time.localtime() print(time_tuple) # time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=22, tm_min=14, tm_sec=35, tm_wday=6, tm_yday=234, tm_isdst=0)
时间字符串是以特定格式的字符串表示的时间。可以通过strftime()函数将时间元组或时间戳转换成时间字符串,例如:
import time
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(time_str) # 2021-08-22 22:17:01
时间格式转换
在Python中,常用的时间格式转换包括时间戳转换为时间元组、时间元组转换为时间戳、时间元组转换为时间字符串、时间字符串转换为时间元组等。
1. 时间戳转换为时间元组
可以使用time模块中的localtime()函数将时间戳转换为时间元组,例如:
import time timestamp = 1629616075.270736 time_tuple = time.localtime(timestamp) print(time_tuple) # time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=22, tm_min=14, tm_sec=35, tm_wday=6, tm_yday=234, tm_isdst=0)
2. 时间元组转换为时间戳
可以使用calendar模块中的timegm()函数将时间元组转换为时间戳,例如:
import calendar time_tuple = (2021, 8, 22, 22, 14, 35, 6, 234, 0) timestamp = calendar.timegm(time_tuple) print(timestamp) # 1629616475
3. 时间元组转换为时间字符串
可以使用time模块中的strftime()函数将时间元组转换为时间字符串,例如:
import time
time_tuple = (2021, 8, 22, 22, 14, 35, 6, 234, 0)
time_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print(time_str) # 2021-08-22 22:14:35
4. 时间字符串转换为时间元组
可以使用time模块中的strptime()函数将时间字符串转换为时间元组,例如:
import time time_str = "2021-08-22 22:14:35" time_tuple = time.strptime(time_str, "%Y-%m-%d %H:%M:%S") print(time_tuple) # time.struct_time(tm_year=2021, tm_mon=8, tm_mday=22, tm_hour=22, tm_min=14, tm_sec=35, tm_wday=6, tm_yday=234, tm_isdst=-1)
注意,在将时间字符串转换为时间元组时,需要指定时间字符串的格式。
总结
本文介绍了Python中常用的时间格式(时间戳、时间元组和时间字符串)和时间格式转换方法,有助于Python开发人员更加方便地操作时间和日期。在实际开发中,我们可以根据需要选择不同的时间格式,使用相应的函数进行时间格式转换。
