Python时间获取及转换知识汇总
时间在Python中是一个很重要的概念,尤其在处理数据和文件时,时间的转换和计算都是必不可少的。本文将详细介绍Python中获取时间、时间格式化、时间转换等相关知识点,希望能够帮助读者快速掌握这些技能。
1. 时间获取
获取当前时间可以使用Python内置的datetime
模块中的datetime
类,代码如下:
from datetime import datetime
now = datetime.now() # 获取当前时间
print(now) # 输出当前时间
此代码的输出结果为:
2022-08-18 16:36:34.583765
通过datetime.now()
方法可以获取当前的时间,输出结果格式为"年-月-日 时:分:秒.毫秒"。需要注意的是,这个时间是根据当前机器的时区来的,如果需要转换时区,可以使用第三方库pytz
来实现。
2. 时间格式化
在处理时间时,很多时候需要将时间按照一定的格式进行输出和显示,Python提供了几个比较好用的方法来实现时间格式化。
2.1 strftime()方法
strftime()
是datetime
对象中的一个方法,可以将时间对象以指定的格式进行输出。下面以一个例子来说明如何使用:
from datetime import datetime
now = datetime.now()
format_time = now.strftime("%Y-%m-%d %H:%M:%S")
print(format_time)
运行上述代码后,可以看到输出的结果为:
2022-08-18 16:36:34
在上面代码中,strftime()
方法以字符串形式返回格式化后的时间,具体格式化的方式可以参照Python官方文档上的说明。
2.2 strptime()方法
strptime()
是与strftime()
相对应的方法,它可以将一个字符串转换为datetime
对象。下面以一个完整的例子来说明如何使用:
from datetime import datetime
format_time = "2022-08-18 16:36:34"
datetime_obj = datetime.strptime(format_time, "%Y-%m-%d %H:%M:%S")
print(datetime_obj)
运行上述代码后,可以看到输出的结果为:
2022-08-18 16:36:34
在上面代码中,strptime()
方法将一个字符串格式的时间转换为了一个datetime
对象,具体的时间格式可以参照Python官方文档上的说明。
3. 时间转换
在实际的开发中,经常需要进行时间的转换,例如将时间戳转换为时间格式,或者将时间格式转换为时间戳等。下面给出两个例子。
3.1 时间戳转换为时间格式
import time
from datetime import datetime
timestamp = 1669200000
date_time = datetime.fromtimestamp(timestamp)
print(date_time.strftime("%Y-%m-%d %H:%M:%S"))
运行上述代码后,可以看到输出的结果为:
2022-08-23 08:00:00
在上面代码中,使用datetime.fromtimestamp()
方法将一个时间戳转换为datetime
对象,然后使用strftime()
方法将这个时间格式化为需要的字符串格式。
3.2 时间格式转换为时间戳
import time
from datetime import datetime
date_str = '2022-08-23 08:00:00'
time_array = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")
timestamp = int(time.mktime(time_array))
print(timestamp)
运行上述代码后,可以看到输出的结果为:
1669200000
在上面代码中,使用time.strptime()
方法将一个字符串格式的时间转换为时间数组,然后使用time.mktime()
方法将这个时间数组转换为时间戳。需要注意的是mktime()
方法返回的是一个浮点数,需要使用int()
方法进行转换为整数。
结语
本文介绍了Python时间获取及转换的相关知识点,其中包括时间获取、时间格式化以及时间转换等方面,希望能够对读者有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python时间获取及转换知识汇总 - Python技术站