fdate
Formats date string as 'yyyy-mm-dd' and manipulates date strings.
Installation
Use one of the following method:
pip --install fdate
pip --install fdate --upgrade
- clone repository and install with:
python setup.py install
Usage
From a string of format 'yyyy-mm-dd', where the separator '-' can be any non-digital character.
>>> from fdate import *
>>> fd = Fdate('2018/4/7')
>>> fd
'2018-04-07'
>>> fd = Fdate('2018-4-7')
>>> fd
'2018-04-07'
From exactly 8-length digits or Fdate object.
>>> fd = Fdate('20180407')
>>> fd
'2018-04-07'
>>> fe = Fdate(fd)
>>> fe
'2018-04-07'
From unix timestamp, with default time unit: second.
>>> fd = Fdate().from_timestamp(1523030400)
>>> fd
'2018-04-07'
In case time unit is not second, say minisecond, set unit=1000
.
>>> fd = Fdate().from_timestamp(1523030400000, unit=1000)
>>> fd
'2018-04-07'
From function today(shift=0)
>>> fd = today()
>>> fd = today(-1)
>>> fd = today(1)
>>> fd = Fdate('20180407')
>>> fd.year, fd. month, fd.day
(2018, 4, 7)
>>> fd.rank
97
>>> fd.is_weekend
True
>>> fd.is_workday
False
>>> fd.is_leap_year
False
>>> fd.is_first_day(of='M')
False
>>> Fdate('2018-3-31').is_last_day()
True
>>> fd.to_timestamp()
1523030400
>>> fd = Fdate('20180407')
>>> fd + 1
'2018-04-08'
>>> fd -= 1
>>> fd
'2018-04-06'
>>> fd - '2018.3.6'
31
>>> fd - '2018/5/6'
-30
>>> fd > '2018-3-6'
True
>>> fd == '2018.4.6'
True
>>> [x for x in drange('2018-03-30', '2018-04-03')]
['2018-03-30', '2018-03-31', '2018-04-01', '2018-04-02', '2018-04-03']
>>> [x for x in drange('2018-04-03', '2018-03-30')]
['2018-04-03', '2018-04-02', '2018-04-01', '2018-03-31', '2018-03-30']