pytime

Feature matrix

  datetime Delorean Arrow Pendulum NumPy1 Pandas
naive time
localized time
date 2 2
time of day
time range 1-9999 1-9999 1-9999 1-9999 1678-2262 1678-2262
time resolution 1 µs 1 µs 1 µs 1 µs 1 ns 1 ns
date range 1-9999     1-9999 huge huge
rounding
parsing strptime udatetime strptime
custom
strptime
custom
limited strptime
custom
formatting strftime Babel custom strftime
custom
strftime
locales POSIX3 custom custom
humanizing
implementation C Python Python Python C Cython
internal repr components datetime datetime datetime ticks datetime+ns
memory use4 40 220 512 448 40 (single)
8 (bulk)
120 (single)
8 (bulk)

1 For NumPy, we consider “datetime64[ns]” for times and “datetime64[D]” for dates.

2 NumPy and Pandas represent dates as “datetime64[D]”, i.e. times with 1 day precision.

3 datetime’s strftime formatting honors the POSIX locale, but this must be set globally in the process, and locales may not be set up on all computers.

4 Estimates of memory use in bytes for single time values. See appendix for details. NumPy and Pandas store times as 8-byte values in collections (NumPy arrays; Pandas indexes, series, dataframes), but single objects consume more memory.