This version brings small changes and performance improvements.
New features
New keep_time keyword for next()/previous()
The next() and previous() methods now support a keep_time keyword argument
to maintain the time information.
>>> import pendulum
>>> dt = pendulum.now()
>>> dt.to_datetime_string()
'2017-02-17 15:22:54'
>>> dt.next(pendulum.FRIDAY).to_datetime_string()
'2017-02-24 00:00:00'
>>> dt.next(pendulum.FRIDAY, keep_time=True).to_datetime_string()
'2017-02-24 15:22:54'
Changes
Improved
diff_for_humans()method to display more intuitive strings on edge cases.>>> import pendulum # Before >>> pendulum.now().add(years=1).diff_for_humans() '11 months from now' # Now >>> pendulum.now().add(years=1).diff_for_humans() '1 year from now'Formatting (with f-strings or
format()) will now use the configured formatter.>>> import pendulum >>> dt = pendulum.create(2017, 2, 20, 12, 34, 56) >>> '{:%Y-%m-%d %H:%M:%S}'.format(dt) '2017-02-20 12:34:56' >>> f'{dt:%Y-%m-%d %H:%M:%S}' '2017-02-20 12:34:56' >>> pendulum.set_formatter('alternative') >>> '{:YYYY-MM-DD HH:mm:ss}'.format(dt) '2017-02-20 12:34:56' >>> f'{dt:YYYY-MM-DD HH:mm:ss}' '2017-02-20 12:34:56'Greatly improved
diff()performance.