下面是Python时间戳与时间字符串互相转换的攻略。
时间戳与时间字符串说明
在Python中,时间戳是指自1970年1月1日零时(UTC)起到某个时间点所经过的秒数,是表示时间的一种方式。而时间字符串则是指格式化后的时间字符串,如“2021-12-31 23:59:59”,也是表示时间的一种方式。
时间戳和时间字符串之间的转换是常见的操作,例如在爬虫中,网页给出的时间通常是时间戳,我们需要将其转换为可读的时间字符串。下面分别介绍时间戳和时间字符串的构造方式以及互相转换的方法。
时间戳构造
时间戳可以通过Python标准库中的time模块的time()函数进行获取,示例如下:
import time
# 获取当前时间戳
timestamp = time.time()
# 打印时间戳
print(timestamp)
输出结果类似:
1644550173.7249982
其中小数部分是毫秒级别的精度。
时间字符串构造
时间字符串可以通过格式化方式实现,Python标准库中的datetime模块提供了丰富的时间格式化方法,示例如下:
import datetime
# 获取当前时间
now = datetime.datetime.now()
# 将当前时间转换为格式化字符串
time_str = now.strftime('%Y-%m-%d %H:%M:%S')
# 打印时间字符串
print(time_str)
输出结果类似:
2022-02-11 16:22:06
其中'%Y-%m-%d %H:%M:%S'是时间格式化字符串,具体含义如下:
- %Y:四位数的年份
- %m:两位数的月份(补零)
- %d:两位数的日(补零)
- %H:24小时制的小时数(补零)
- %M:分钟数(补零)
- %S:秒数(补零)
时间戳转时间字符串
时间戳转换为时间字符串需要使用时间格式化方法,示例如下:
import time
import datetime
# 时间戳
timestamp = 1644550173.7249982
# 时间戳转换为datetime格式
dt_obj = datetime.datetime.fromtimestamp(timestamp)
# 将时间转换为格式化字符串
time_str = dt_obj.strftime('%Y-%m-%d %H:%M:%S')
# 打印时间字符串
print(time_str)
输出结果类似:
2022-02-11 08:22:53
其中fromtimestamp()函数将时间戳转换为datetime对象,再使用strftime()函数将datetime对象转换为格式化字符串,可以自定义时间格式化字符串实现任意格式的时间输出。
时间字符串转时间戳
时间字符串转换为时间戳需要使用time模块中的mktime()函数,示例如下:
import time
import datetime
# 时间字符串
time_str = '2022-02-11 08:22:53'
# 将时间字符串转换为datetime格式
dt_obj = datetime.datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')
# 将datetime对象转换为时间戳
timestamp = time.mktime(dt_obj.timetuple())
# 打印时间戳
print(timestamp)
输出结果类似:
1644552173.0
其中strptime()函数将时间字符串转换为datetime对象,mktime()函数将datetime对象转换为时间戳。需要注意的是,timetuple()函数转换为时间元组时会忽略对象的微秒部分,因此时间戳中的小数部分会被忽略。
总结
本文介绍了Python时间戳与时间字符串互相转换的方法,包括时间戳和时间字符串的构造,以及转换的示例代码。通过掌握时间戳和时间字符串的转换,可以轻松处理时间相关的问题,提高编程效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python时间戳与时间字符串互相转换实例代码 - Python技术站