python和时间相关的库主要包括datetime
和pandas
、dateutil
,很多库都是对datetime
的相关类进行扩展,所以有些函数参数可以传入两者之一。可通过dir或者help函数快速了解相关对象的用途。
datetime库主要的对象有:
- datetime
- timedelta
pandas库的主要对象有:
- DatetimeIndex
- PeriodIndex
- Timestamp
- Period
- Timedelta
datetime
datetime 类属性或函数
利用dir查看
name | name | name | name |
---|---|---|---|
'astimezone', | 'hour', | 'replace', | 'toordinal', |
'combine', | 'isocalendar', | 'resolution', | 'tzinfo', |
'ctime', | 'isoformat', | 'second', | 'tzname', |
'date', | 'isoweekday', | 'strftime', | 'utcfromtimestamp', |
'day', | 'max', | 'strptime', | 'utcnow', |
'dst', | 'microsecond', | 'time', | 'utcoffset', |
'fold', | 'min', | 'timestamp', | 'utctimetuple', |
'fromisoformat', | 'minute', | 'timetuple', | 'weekday', |
'fromordinal', | 'month', | 'timetz', | 'year' |
'fromtimestamp', | 'now', | 'today', |
pandas
Timestamp 属性或方法
name | name | name | Name |
---|---|---|---|
'asm8', | 'fromordinal', | 'month_name', | 'to_pydatetime', |
'astimezone', | 'fromtimestamp', | 'nanosecond', | 'today', |
'ceil', | 'hour', | 'normalize', | 'toordinal', |
'combine', | 'is_leap_year', | 'now', | 'tz', |
'ctime', | 'is_month_end', | 'quarter', | 'tz_convert', |
'date', | 'is_month_start', | 'replace', | 'tz_localize', |
'day', | 'is_quarter_end', | 'resolution', | 'tzinfo', |
'day_name', | 'is_quarter_start', | 'round', | 'tzname', |
'dayofweek', | 'is_year_end', | 'second', | 'utcfromtimestamp', |
'dayofyear', | 'is_year_start', | 'strftime', | 'utcnow', |
'days_in_month', | 'isocalendar', | 'strptime', | 'utcoffset', |
'daysinmonth', | 'isoformat', | 'time', | 'utctimetuple', |
'dst', | 'isoweekday', | 'timestamp', | 'value', |
'floor', | 'max', | 'timetuple', | 'week', |
'fold', | 'microsecond', | 'timetz', | 'weekday', |
'freq', | 'min', | 'to_datetime64', | 'weekday_name', |
'freqstr', | 'minute', | 'to_julian_date', | 'weekofyear', |
'fromisoformat', | 'month', | 'to_numpy', | 'year' |
'to_period', |
可见其和datetime的datetime有很多一样的方法
常见场景
字符串 python 对象 转化
1 | stamp.strftime("%y-%m-%d") # str -> datetime.datetime |
pandas
1 | pd.to_datetime(dates) # [str] -> DatetimeIndex |
生成一段时间的时间序列
1 | pd.date_range(start=s,end=e,periods=12,freq='D',name='ds') # => DatetimeIndex |
利用这个函数可以返回一段时间的时间索引,类型为DatetimeIndex