Skip to main content

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

py-itime-0.0.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

py_itime-0.0.3-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

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

Hashes for py-itime-0.0.3.tar.gz
Algorithm Hash digest
SHA256 069cc7a98e0c0ab600d845c2f20c8bb5a9bc5e58e1d1b677a1ab154972efecbd
MD5 9e7bef570f4e8ba5019702df268a0839
BLAKE2b-256 b83cdce3678579450a5b3e4380c06ab7bd68ff4dcc286d3db0fba05042a1a615

See more details on using hashes here.

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

Hashes for py_itime-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b841102c4b848ded5a2338ff71d24c03be89219d4d3d4c9c5401726d0f9bd04
MD5 644ff21ceeee75c9bc9e5da22f02e0d8
BLAKE2b-256 f386096f549ccd8c2fa2a4e48187d830717623553857ab89b0bb8daadae2daca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page