Better dates and times for Python
Project description
Documentation: crsmithdev.com/arrow.
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.
Why?
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
Features
Implements the datetime interface
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
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 = utc.to('US/Pacific')
>>> local
<Arrow [2013-05-11T13:23:58.970460-07:00]>
>>> local.timestamp
1368303838
>>> 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
Documentation is available at crsmithdev.com/arrow.
History
0.3.2
Python 3.0 support / fixes
0.3.1
Fix for incorrect timestamp handling in old arrow function (for old API compatibility)
0.3.0
Arrow objects are no longer mutable
Arrow.replace method
Plural attribute name semantics altered: single -> absolute, plural -> relative
Plural names no longer supported as properties (e.g. arrow.utcnow().years)
Limit parameters are respected in range and span_range
Accept timestamps, datetimes and Arrows for datetime inputs, where reasonable
0.2.1
Support for localized humanization
English, Russian, Greek, Korean, Chinese locales
0.2.0
Reimplemented as datetime replacement
Added date parsing
Added date formatting
Added floor, ceil and span methods
Added datetime methods for drop-in replacement
Added clone method
Added get, now and utcnow API methods
0.1.6
Added humanized time deltas
Fixed numerous issues with conversions related to daylight savings time
Fixed some inconsistencies in time zone names
__str__ uses ISO formatting
__eq__ implemented for basic comparison between Arrow objects
0.1.5
Started tracking changes
Added parsing of ISO-formatted time zone offsets (e.g. ‘+02:30’, ‘-05:00’)
Fixed some incorrect timestamps with delta / olson time zones
Fixed formatting of UTC offsets in TimeStamp’s str method
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file arrow-0.3.2.tar.gz
.
File metadata
- Download URL: arrow-0.3.2.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a7e2a8ffbcc0c70510069661799b7679c5fb87567e1342cd01325569078ab9a |
|
MD5 | 9a4d35818ca5fd9d7be50512976f3feb |
|
BLAKE2b-256 | bffd4e179c4c575be8d9e289e7962760bec6637f5f8e8984935a9b76f069a5ce |