Python 常见时间格式整理
·
Python 常见时间格式整理
写python时经常用到,但是经常弄混,现在使用gpt进行整理。
1. datetime.datetime
- 来源:标准库 datetime
- 特点:年月日 + 时分秒 + 微秒
- 示例:
from datetime import datetime
dt = datetime(2025, 9, 30, 15, 30, 45)
print(dt) # 2025-09-30 15:30:45
print(type(dt)) # <class 'datetime.datetime'>
2. datetime.date
- 来源:标准库datetime
- 特点:只有年月日
- 示例:
from datetime import date
d = date(2025, 9, 30)
print(d) # 2025-09-30
print(type(d)) # <class 'datetime.date'>
3. datetime.time
- 来源:标准库datetime
- 特点:只有时分秒
- 示例:
from datetime import time
t = time(15, 30, 45)
print(t) # 15:30:45
print(type(t)) # <class 'datetime.time'>
4. pandas.Timestamp
- 来源:pandas
- 特点:比datetime更强大,支持矢量化运算
- 示例:
import pandas as pd
ts = pd.to_datetime("2025-09-30 15:30:45")
print(ts) # 2025-09-30 15:30:45
print(type(ts)) # <class 'pandas._libs.tslibs.timestamps.Timestamp'>
5. pandas.DatetimeIndex
- 来源:pandas
- 特点:一组Timestamp 组成的索引
- 示例:
import pandas as pd
dti = pd.date_range("2025-09-01", periods=5, freq="D")
print(dti)
# DatetimeIndex(['2025-09-01', '2025-09-02', ...], dtype='datetime64[ns]', freq='D')
print(type(dti)) # <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
6. numpy.datetime64
- 来源:numpy
- 特点:底层储存格式,pandas内部常用
- 示例:
import numpy as np
dt64 = np.datetime64("2025-09-30T15:30:45")
print(dt64) # 2025-09-30T15:30:45
print(type(dt64)) # <class 'numpy.datetime64'>
常见混淆
.index.date:返回datetime.date数组,和Timestamp比较可能报错。.normalize():保留Timestamp类型,但是会把时分秒置成零。cur.date():把Timestamp转成datetime.date。Timestamp>=datetime.date会报错,需要转成同类型。
📋 使用对照表
| 方法 | 输入对象 | 输出对象 | 典型用途 |
|---|---|---|---|
.date() |
Timestamp |
datetime.date |
提取日期 |
.time() |
Timestamp |
datetime.time |
提取时间 |
.normalize() |
Timestamp |
Timestamp (日期零点) |
日频对齐 |
.index.date |
DatetimeIndex |
numpy.array[date] |
转成日期数组 |
.index.normalize() |
DatetimeIndex |
DatetimeIndex (日期零点) |
批量日频化 |
更多推荐
所有评论(0)