Skip to main content

Easy time class supporting chain called, deprecated name: py-itime

Project description

timez is a time package supporting chain call.

install and use:

pip install timez

Example

from timez import timez

# get datetime str of previous day with specified hours
>>> timez(f'{timez.now().delta(days=-1).date_str()} 10:00:00').datetime_str()
'2021-04-04 10:00:00'

# get unix timestamp of previous day
>>> timez.now().delta(days=-1).uts(is_ms=True)
1627211818635

# get corresponding unix timestamp with specified datetime str
>>> timez('2021-04-04 18:23:12').uts()
1617531792

# get datetime str of UTC time which is converted and down sampled by local time
>>> timez.now().delta(hours=8).ds(minutes=5).datetime_str()
'2021-04-04 08:05:00'

Initialize

There are 5 ways to initialize an timez object.

# 1. init with time str, format '%Y{}%m{}%d', '%Y{}%m{}%d %H{}%M{}%S' date_sep could be '','-','/', time_sep could be '',':'.
>>> timez('20210404')
>>> timez('2021-04-04 18:23:12')
>>> timez('2021/04/04 18:23:12')

# 2. init with unix timestamp, support second and milliseconds, default as second
>>> timez(1617531792)
>>> timez(1617531792000, is_ms=True)    # if is milliseconds, is_ms=True
>>> timez(1617531792.123)               # float is also supported

# 3. init with custom datetime str, use timez.strp(time: str, fmt: str)
>>> timez.strp('2021-04-04 18:23', fmt='%Y-%m-%d %H:%M')

# 4. init datetime.datetime object
>>> dt = datetime.datetime.now()
>>> timez(dt)

# 5. init with timetuple
>>> timez((2021, 4, 4, 18, 23, 12))
>>> timez(['2021', '04', '04', '18', '23', '12'])

class timez

  • timez.now() -> timez

    get current local time.

  • timez.today() -> timez

    get current date, hour minute second is 00:00:00.

  • timez.strp(time: str, fmt: str) -> timez

    init timez from custom time str format.

  • timez.uts(is_ms=False) -> int

    get unix timestamp, if is_ms=True, get milliseconds.

  • timez.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) -> timez

    join timez self with given time str. Notice: There is no date or time range checking, be careful

::
>>> timez('2021-04-04 18:23:12').join('23:59:59').__str__()
'2021-04-04 23:59:59'
>>> timez('2021-04-04 23:59:59').join('10 235959', fmt='%d %H%M%S').__str__()
'2021-04-10 23:59:59'
>>> timez('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 timez instance

  • delta(days=0, seconds=0, minutes=0, hours=0) -> timez

    get offset time.

  • ds(hours=None, minutes=None, seconds=None) -> timez

    down sample time, example as follows.

::
>>> timez('2021-04-04 18:23:12').ds(hours=5).__str__()
'2021-04-04 15:23:12'
>>> timez('2021-04-04 18:23:12').ds(minutes=5).__str__()
'2021-04-04 18:20:12'
>>> timez('2021-04-04 18:23:12').ds(seconds=5).__str__()
'2021-04-04 18:23:10'
>>> timez('2021-04-04 18:23:12').ds(minutes=5, seconds=0).__str__()
'2021-04-04 18:20:00'
>>> timez('2021-04-04 18:23:12').ds(hours=0, minutes=0, seconds=0).__str__()
'2021-04-04 00:00:00'
>>> timez('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

timez-0.0.1.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

timez-0.0.1-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

Details for the file timez-0.0.1.tar.gz.

File metadata

  • Download URL: timez-0.0.1.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for timez-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3058ad6b5d27d98a440ddec605da75a5b7ca59a93759203c4add76cfc37a7faa
MD5 a0aa3fc70839f7ccbf27f9d43f9028d4
BLAKE2b-256 fb779e453adee3f73448b250498ec16c8a163c27584e7d54bf5c64747c795df3

See more details on using hashes here.

File details

Details for the file timez-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: timez-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 17.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for timez-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e7e8b92f42dd59979777f3cab7559be242c12979b6fb872f3279b2cc5a738059
MD5 5388f1d1cfcb1e46c688a1facf045597
BLAKE2b-256 3a81772453b891f1e392d6dfa6083aaf412d7c72a70ecdcf3d9440ee521d4499

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