skip to navigation
skip to content

arrow 0.3.5

Better dates and times for Python

Latest Version: 0.12.1


Arrow is a Python library that provides a sensible, intelligent way of creating, manipulating, formatting and converting dates and times. Arrow is simple, lightweight and heavily inspired by moment.js and requests.


Python’s standard library and some other low-level modules offer complete functionality but don’t work very well from a usability perspective:

  • Too many modules: datetime, time, calendar, dateutil, pytz
  • Time zones and timestamp conversions are verbose and error-prone
  • Time zones are explicit, naivete is the norm
  • Gaps in functionality: ISO-8601 parsing, timespans, humanization


  • Implements the datetime interface
  • Supports Python 2.6, 2.7 and 3.3
  • TZ-aware & UTC by default
  • Concise, intelligent interface for creation
  • Easily replace and shift attributes
  • Rich parsing & formatting options
  • Timezone conversion
  • Simple timestamp handling
  • Time spans, ranges, floors and ceilings
  • Humanization, with support for a growing number of locales
  • Extensible factory architecture supporting custom Arrow-derived types

Get started

$ pip install arrow
>>> import arrow
>>> utc = arrow.utcnow()
>>> utc
<Arrow [2013-05-11T21:23:58.970460+00:00]>

>>> utc = utc.replace(hours=-1)
>>> utc
<Arrow [2013-05-11T20:23:58.970460+00:00]>

>>> local ='US/Pacific')
>>> local
<Arrow [2013-05-11T13:23:58.970460-07:00]>

>>> local.timestamp

>>> local.format('YYYY-MM-DD HH:mm:ss ZZ')
'2013-05-11 13:23:58 -07:00'

>>> local.humanize()
'an hour ago'

>>> local.humanize(locale='ko_kr')
'1시간 전'


Documentation is available at

File Type Py Version Uploaded on Size
arrow-0.3.5.tar.gz (md5) Source 2013-08-30 14KB