Date
Overview
Arrow is used as the date library in Assembly, and date
is the alias available. Arrow helps you work with dates and times with fewer imports and a lot less code.
Extension: Arrow
Usage
Import
from assembly import date
Usage
from assembly import date date.get('2013-05-11T21:23:58.970460+07:00') #-> <Arrow [2013-05-11T21:23:58.970460+07:00]> utc = date.utcnow() #-> <Arrow [2013-05-11T21:23:58.970460+00:00]> utc = utc.shift(hours=-1) #-> <Arrow [2013-05-11T20:23:58.970460+00:00]> local = utc.to('US/Pacific') #-> <Arrow [2013-05-11T13:23:58.970460-07:00]> local.timestamp #-> 1368303838 local.format() #-> '2013-05-11 13:23:58 -07:00' local.format('YYYY-MM-DD HH:mm:ss ZZ') #-> '2013-05-11 13:23:58 -07:00' local.humanize() # 'an hour ago'
or along with config
from assembly import date, config local = utc.to(config.get('TIMEZONE')) local.format(config.get('DATE_FORMAT.default'))
Supported Tokens
Use the following tokens in parsing and formatting. Note that they’re not the same as the tokens for strptime. View all supported tokens
ie: local = utc.to('US/Pacific') local.format('YYYY-MM-DD HH:mm:ss') **Year** -- YYYY (2019, 2020) -- YY (19, 20) **Month** -- MMMM (January, February,...) -- MMM (Jan, Feb, ...) -- MM (01, 02, ...) -- M (1, 2, ...) **Dat of Year** -- DDDD (001, 002, ..., 364, 365) --- DDD (01, 02, 364, 365) **Day of Month** -- DD (01, 02, ..., 30, 31) -- D (1, 2,..., 30, 31) -- Do (1st, 2nd, ..., 30th, 31st) **Day of Week** -- dddd (Monday, Tuesday) -- dd (Mon, Tues) -- d (1,2, ..., 6,7) **Hour** -- HH (00, 01, ... 23) -- H (1, 23) -- hh (01, 02, ..., 11, 12) -- h (1, 2, ..., 11, 12) **AM/PM** -- A (AM, PM) -- a (am, pm) **Minute** -- mm (00, 01, ..., 59) -- m (0, 1, ..., 59) **Second** -- ss (00, 01, ..., 59) -- s (0, 1, ..., 59)