Time package supporting chain call
Project description
py-itime is a time package supporting chain call.
install and use:
pip install py-itime
Example
from itime import iTime # get datetime str of previous day with specified hours >>> iTime(f'{iTime.now().delta(days=-1).date_str()} 10:00:00').datetime_str() '2021-04-04 10:00:00' # get unix timestamp of previous day >>> iTime.now().delta(days=-1).uts(is_ms=True) 1627211818635 # get corresponding unix timestamp with specified datetime str >>> iTime('2021-04-04 18:23:12').uts() 1617531792 # get datetime str of UTC time which is converted and down sampled by local time >>> iTime.now().delta(hours=8).ds(minutes=5).datetime_str() '2021-04-04 08:05:00'
Initialize
There are 5 ways to initialize an iTime object.
# 1. init with time str, format '%Y{}%m{}%d', '%Y{}%m{}%d %H{}%M{}%S' date_sep could be '','-','/', time_sep could be '',':'. >>> iTime('20210404') >>> iTime('2021-04-04 18:23:12') >>> iTime('2021/04/04 18:23:12') # 2. init with unix timestamp, support second and milliseconds, default as second >>> iTime(1617531792) >>> iTime(1617531792000, is_ms=True) # if is milliseconds, is_ms=True >>> iTime(1617531792.123) # float is also supported # 3. init with custom datetime str, use iTime.strp(time: str, fmt: str) >>> iTime.strp('2021-04-04 18:23', fmt='%Y-%m-%d %H:%M') # 4. init datetime.datetime object >>> dt = datetime.datetime.now() >>> iTime(dt) # 5. init with timetuple >>> iTime((2021, 4, 4, 18, 23, 12)) >>> iTime(['2021', '04', '04', '18', '23', '12'])
class iTime
- iTime.now() -> iTime
get current local time.
- iTime.today() -> iTime
get current date, hour minute second is 00:00:00.
- iTime.strp(time: str, fmt: str) -> iTime
init iTime from custom time str format.
- iTime.uts(is_ms=False) -> int
get unix timestamp, if is_ms=True, get milliseconds.
- iTime.date_str(date_sep=’-’) -> str
get date str, sep include ‘’, ‘-’, ‘/’.
- time_str(time_sep=’:’) -> str
get time str, ‘time_sep’ is sep include ‘’, ‘:’.
- datetime_str(date_sep=’-’, time_sep=’:’) -> str
get datetime str, date_sep and time_sep same to above.
- join(datetime_str: str, fmt: str) -> iTime
join iTime self with given time str. Notice: There is no date or time range checking, be careful
- ::
>>> iTime('2021-04-04 18:23:12').join('23:59:59').__str__() '2021-04-04 23:59:59' >>> iTime('2021-04-04 23:59:59').join('10 235959', fmt='%d %H%M%S').__str__() '2021-04-10 23:59:59' >>> iTime('2021-04-04 18:23:12').join('10', fmt='%d').__str__() '2021-04-10 18:23:12'
- strf(fmt) -> str
get custom time str with given fmt.
- pop() -> datetime.datetime
get datetime.datetime object from iTime instance
- delta(days=0, seconds=0, minutes=0, hours=0) -> iTime
get offset time.
- ds(hours=None, minutes=None, seconds=None) -> iTime
down sample time, example as follows.
>>> iTime('2021-04-04 18:23:12').ds(hours=5).__str__() '2021-04-04 15:23:12' >>> iTime('2021-04-04 18:23:12').ds(minutes=5).__str__() '2021-04-04 18:20:12' >>> iTime('2021-04-04 18:23:12').ds(seconds=5).__str__() '2021-04-04 18:23:10' >>> iTime('2021-04-04 18:23:12').ds(hours=17, minutes=5, seconds=5).__str__() '2021-04-04 17:20:10'
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py-itime-0.0.3.tar.gz
.
File metadata
- Download URL: py-itime-0.0.3.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 069cc7a98e0c0ab600d845c2f20c8bb5a9bc5e58e1d1b677a1ab154972efecbd |
|
MD5 | 9e7bef570f4e8ba5019702df268a0839 |
|
BLAKE2b-256 | b83cdce3678579450a5b3e4380c06ab7bd68ff4dcc286d3db0fba05042a1a615 |
File details
Details for the file py_itime-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: py_itime-0.0.3-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.5.0.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b841102c4b848ded5a2338ff71d24c03be89219d4d3d4c9c5401726d0f9bd04 |
|
MD5 | 644ff21ceeee75c9bc9e5da22f02e0d8 |
|
BLAKE2b-256 | f386096f549ccd8c2fa2a4e48187d830717623553857ab89b0bb8daadae2daca |