0%

python时间相关库

python和时间相关的库主要包括datetimepandasdateutil,很多库都是对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
2
3
stamp.strftime("%y-%m-%d") # str -> datetime.datetime
str(datetime) # datetime.datetime -> str
dateutil.parser('20170707') # str -> datetime.datetime

pandas

1
2
pd.to_datetime(dates) # [str] -> DatetimeIndex
datetimeindex.to_pydatetime # DatetimeIndex -> [datetime.datetime]

生成一段时间的时间序列

1
pd.date_range(start=s,end=e,periods=12,freq='D',name='ds') # => DatetimeIndex

利用这个函数可以返回一段时间的时间索引,类型为DatetimeIndex