Skip to main content

Dynamic-DateTime

Installation

py -m pip install dynamic-datetime - Windows
python3 -m pip install dynamic-datetime - Linux

Usage

  • Usage examples (date used for most examples is 2024/12/08)
from dynamic_dt import DynamicDT, TimeDelta, get_timezone

# Parsing
DynamicDT.parse("now")    # 2024-12-08 06:13:27.7125025 UTC
DynamicDT.parse("now in MDT")    # 2024-12-08 00:14:02.9757217 MDT
DynamicDT.parse("now in London")    # 2024-12-08 06:14:37.6658725 Europe/London
DynamicDT.parse("3 october 2016 in edt")    # 2016-10-03 00:00:00 EDT
DynamicDT.parse("1961/01/29")    # 1961-01-29 00:00:00 UTC
DynamicDT.parse("-123456789/05/11")    # 123456789-05-11 00:00:00 BCE UTC
DynamicDT.parse("next thursday acdt")    # 2024-12-12 00:00:00 ACDT
DynamicDT.parse("57 days since July 7th 2026")    # 2026-09-02 00:00:00 UTC
DynamicDT.parse("2 hours before last december 22nd, utc-12")    # 2023-12-21 22:00:00 UTC-12
DynamicDT.parse("one minute before two hours after sixty two years before three hundred and twelve thousand and seventy one nanoseconds before a million years after tomorrow")    # 1001962-12-09 01:58:59.999687929 UTC
DynamicDT.parse("300-06-09 bce 6pm aqtt")    # 0300-06-09 18:00:00 BCE AQTT

# Arithmetic
DynamicDT.parse("now+1h") - DynamicDT.parse("now")    # 59 minutes 59.9999153 seconds
DynamicDT.parse("now+1h", timestamp=1733639741) - DynamicDT.parse("now", timestamp=1733639741)    # 1 hour
DynamicDT.parse("now+1h utc-1.5") + DynamicDT.parse_delta("9876543210 years, -1 attoseconds")    # 9876545234-12-08 06:17:13.1265439 UTC-1:30

# Advanced
import datetime
import pytz

repr(DynamicDT.parse_auto("1 year"))    # TimeDelta(1, 0, 0, 0, 0, 0, 0, None)
repr(DynamicDT.parse_auto("2030-01-01")) # DynamicDT(2030, 1, 1, 0, 0, 0, tzinfo=get_timezone('UTC'))
DynamicDT.parse_delta("1 year").total_seconds()    # 31556925
DynamicDT.parse_delta("9876543210 years, -1 attoseconds").to_string(precision=20)    # 43 galactic years 123 megaanna 541 millennia 210 years -1 day 23 hours 59 minutes 59.999999999999999999 seconds
DynamicDT.parse_delta("1234567 seconds").negate().to_short()    # -14d6h56m7s
DynamicDT.parse_delta("-14d6h56m7s +2mo")   # 2 months -15 days 17 hours 3 minutes 53 seconds
repr(DynamicDT.parse("4 years after"))    # DynamicDT(2028, 12, 8, 6, 48, 14, fraction=Fraction(4312121, 10000000), tzinfo=get_timezone('UTC'))
DynamicDT.parse("2025-06-14 + three months - 5h")    # 2025-09-13 19:00:00 UTC
DynamicDT.parse("4 years after").as_iso()    # 2028-12-08T06:48:43.8579817Z
DynamicDT.parse("4 years after").as_full()    # Thursday 8 December 2028 at 06:49
DynamicDT.parse("4 years after").as_discord()    # <t:1859870945:F>
DynamicDT.parse("4 years after").as_rel_discord()    # <t:1859871001:R>
DynamicDT.parse("4 years after").timestamp()    # 1859871105.7713845
DynamicDT.parse("4 years after").timestamp_exact()    # Fraction(18598711279456937, 10000000)
DynamicDT.parse("4 years after").replace(year=300000, minute=3, tzinfo=get_timezone("utc+6"))    # 300000-12-08 06:03:53.9029728 UTC+6
DynamicDT.parse("4 years after").cast(tz=get_timezone("utc+6"))    # 2028-12-08 12:55:54.789339 UTC+6
repr(DynamicDT.now())    # DynamicDT(2024, 12, 8, 17, 56, 31, fraction=Fraction(6281317, 10000000))
repr(DynamicDT.now(tz=datetime.timezone.utc))    # DynamicDT(2024, 12, 8, 6, 56, 55, fraction=Fraction(1347719, 2000000), tzinfo=get_timezone('UTC'))
DynamicDT(1234, 5, 6, 7, tzinfo=pytz.timezone("US/Mountain"))    # DynamicDT(1234, 5, 6, 7, 0, 0, tzinfo=get_timezone('US/Mountain'))
DynamicDT.unix()    # Fraction(17336412228141707, 10000000)
repr(DynamicDT.fromtimestamp(-100000000000, tz=get_timezone("pacific")))   # DynamicDT(-1199, 2, 15, 6, 13, 20, tzinfo=get_timezone('US/Pacific'))
DynamicDT.parse("1 yoctosecond from now").timestamp_string(100)    # 1736318072.652227100000000000000001
DynamicDT.parse("1 quectosecond until now").timestamp_string(100)    # 1736318184.458186399999999999999999999999

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dynamic_datetime-0.1.33.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dynamic_datetime-0.1.33-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file dynamic_datetime-0.1.33.tar.gz.

File metadata

  • Download URL: dynamic_datetime-0.1.33.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for dynamic_datetime-0.1.33.tar.gz
Algorithm Hash digest
SHA256 608103f252d0844472305798d1a7329239769067658ec90218d538846f253642
MD5 ceec1c94fe89bfefba7a7db8c5b5c8b6
BLAKE2b-256 5c7f836b70a9ad6f51078c01a5e346185c7004777cd439c1706e8420501a476c

See more details on using hashes here.

File details

Details for the file dynamic_datetime-0.1.33-py3-none-any.whl.

File metadata

File hashes

Hashes for dynamic_datetime-0.1.33-py3-none-any.whl
Algorithm Hash digest
SHA256 b7baeaf569a8314358c7d9e3f6ccf85be804a0ba391d772269f7a5bf556a5478
MD5 156c3239fefba549c60c88e7b3f76862
BLAKE2b-256 29b38813c377bbc7110f9864b977cd9ae966e5e002d85f50fb3426348cb7f89d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.33 This release

2 files

0.1.32

2 files

0.1.31

2 files

0.1.30

2 files

0.1.29

2 files

0.1.28

2 files

0.1.27

2 files

0.1.26

2 files

0.1.25

2 files

0.1.24

2 files

0.1.23

2 files

0.1.22

2 files

0.1.21

2 files

0.1.20

2 files

0.1.19

2 files

0.1.18

2 files

0.1.17

2 files

0.1.16

2 files

0.1.15

2 files

0.1.14

2 files

0.1.13

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page