下面我就来详细讲解Python中有关时间日期格式转换问题的完整攻略。
1. 时间和日期的常用表现形式
在Python中,日期和时间的表现形式有如下几种:
timestamp
,指一个距离1970年1月1日00:00:00 UTC的浮点数,精确到秒或毫秒,可用于时间的比较和运算。datetime.datetime
,表示日期和时间的类,包括年、月、日、时、分、秒和微秒,是一个可变对象。datetime.date
,表示日期的类,包括年、月、日,是一个可变对象。datetime.time
,表示时间的类,包括时、分、秒和微秒,是一个可变对象。- 字符串,可以表示各种形式的日期和时间,如"2022-01-01 12:00:00"、"2022-01-01"、"12:00:00"等。
2. 时间和日期的格式转换
Python中有很多方法可以用于时间和日期的格式转换,这里介绍三种常用的方法。
2.1. 时间戳与datetime的转换
时间戳指的是从1970年1月1日00:00:00 UTC开始计算到某个时间点的秒数,可以使用time.time()
函数来获取。下面是时间戳和datetime之间转换的示例代码:
import time
from datetime import datetime
# 时间戳转换为datetime
timestamp = 1641501114.2875228
dt = datetime.fromtimestamp(timestamp)
print(dt) # 2022-01-06 20:31:54.287523
# datetime转换为时间戳
dt = datetime(2022, 1, 1, 12, 0, 0)
timestamp = time.mktime(dt.timetuple())
print(timestamp) # 1641019200.0
在上面的代码中,我们使用了datetime.fromtimestamp()
方法将时间戳转换为datetime,使用time.mktime()
方法将datetime转换为时间戳。
2.2. 字符串与datetime的转换
Python中,可以使用datetime.strptime()
方法将字符串转换为datetime对象,也可以使用datetime.strftime()
方法将datetime对象格式化为字符串。下面是字符串和datetime之间转换的示例代码:
from datetime import datetime
# 字符串转换为datetime
str_time = '2022-01-01 12:00:00'
dt = datetime.strptime(str_time, '%Y-%m-%d %H:%M:%S')
print(dt) # 2022-01-01 12:00:00
# datetime转换为字符串
dt = datetime(2022, 1, 1, 12, 0, 0)
str_time = dt.strftime('%Y-%m-%d %H:%M:%S')
print(str_time) # 2022-01-01 12:00:00
在上面的代码中,我们使用了datetime.strptime()
方法将字符串转换为datetime,使用datetime.strftime()
方法将datetime转换为字符串。
需要注意的是,在使用datetime.strptime()
方法时,必须指定输入字符串的格式,如'%Y-%m-%d %H:%M:%S'
表示输入字符串的格式为"年-月-日 时:分:秒"。
2.3. 时间戳与字符串的转换
将时间戳转换为字符串,或将字符串转换为时间戳,也是常见的时间和日期格式转换,下面是时间戳和字符串之间转换的示例代码:
import time
# 时间戳转换为字符串
timestamp = 1641019200.0
str_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp))
print(str_time) # 2022-01-01 12:00:00
# 字符串转换为时间戳
str_time = '2022-01-01 12:00:00'
timestamp = time.mktime(time.strptime(str_time, '%Y-%m-%d %H:%M:%S'))
print(timestamp) # 1641019200.0
在上面的代码中,我们使用了time.strftime()
方法将时间戳转换为字符串,使用time.mktime()
和time.strptime()
方法将字符串转换为时间戳。
需要注意的是,在使用time.strptime()
方法时,同样要指定输入字符串的格式,如'%Y-%m-%d %H:%M:%S'
表示输入字符串的格式为"年-月-日 时:分:秒"。
3. 总结
时间和日期在数据的处理、分析和可视化中经常用到,因此时间和日期的格式转换也是非常重要的。在Python中,可以使用多种方法对时间和日期进行格式转换,掌握这些方法可以使我们更加高效地处理数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中有关时间日期格式转换问题 - Python技术站