Python的datetime:时间转换
在这篇文章中,你将学习如何使用Python datetime
模块将时间数据转换成所需的格式或类型,如下所示。
- 将时间转换为分秒
- 将时间转换为Unix时间戳int数字
- 转换为UTC时间
- 将时间从一个数据框架中转换出来
- 转换为字符串
1. 将时间转换为秒
如果你想将时间转换为秒,可以使用 timedelta
对象的 total_seconds()
方法。
from datetime import datetime, timedelta
# 创建一个timedelta对象
td = timedelta(hours=2, minutes=30)
seconds = td.total_seconds()
print(f"总秒数: {seconds}")
2. 将时间转换为分钟
同样,如果你想将时间转换为分钟,可以将 total_seconds()
方法的结果除以60。
minutes = seconds / 60
print(f"总分钟数: {minutes}")
3. 将Datetime转换为整数
要将 datetime
对象转换为Unix时间戳,可以使用 timestamp()
方法。
timestamp = int(dt.timestamp())
print(f"Unix时间戳: {timestamp}")
4. 将Datetime转换为UTC
要将 datetime
对象转换为UTC,可以使用 astimezone()
方法和 pytz
库。
import pytz
utc_time = dt.astimezone(pytz.utc)
print(f"UTC时间: {utc_time}")
5. 改变DataFrame中的时间格式
要改变Pandas DataFrame中的时间格式,可以使用 pd.to_datetime()
函数。
import pandas as pd
# 日期和时间的数据
data = {'date_time': ['2023-07-07 10:30', '2023-07-08 11:45', '2023-07-09 12:50']}
df = pd.DataFrame(data)
# 将字符串转换为datetime对象
df['date_time'] = pd.to_datetime(df['date_time'])
print(df)
6. 将Datetime转换为字符串
要将 datetime
对象转换为字符串,可以使用 strftime()
方法。
date_str = dt.strftime("%Y-%m-%d %H:%M:%S")
print(f"日期字符串: {date_str}")
结论
Python的 datetime
模块对于时间转换任务非常有效。在这篇文章中,我们看到了如何使用 datetime
模块的特性来进行时间转换。利用这些特性,你可以更简单、高效地处理时间转换任务。
