Skip to main content

django-chrono is a helper class for date and time operations in Django projects.

Project description

django-chrono

django-chrono is a helper class for date and time operations in Django projects.

Usage Examples

1. String ↔ Datetime

from django_chrono import ChronoUtils

dt = ChronoUtils.str_to_datetime("2025-06-07 16:30:00")
dt_str = ChronoUtils.datetime_to_str(dt, fmt="%d.%m.%Y %H:%M")
# Result: '07.06.2025 16:30'

2. Date ↔ Datetime

import datetime
from django_chrono import ChronoUtils

d = datetime.date(2025, 6, 7)
dt = ChronoUtils.date_to_datetime(d)  # 2025-06-07 00:00:00
d2 = ChronoUtils.datetime_to_date(dt) # 2025-06-07

3. Timestamps

dt = ChronoUtils.timestamp_to_datetime(1759991100)
ts = ChronoUtils.datetime_to_timestamp(dt)

4. Time Zone Conversion

import pytz
from django.utils import timezone

dt = ChronoUtils.str_to_datetime("2025-06-07 12:00:00", tz=pytz.timezone('Europe/Sofia'))
dt_utc = ChronoUtils.to_utc(dt)            # Convert to UTC
dt_local = ChronoUtils.from_utc(dt_utc, pytz.timezone('Europe/Sofia'))  # Convert back

5. ISO Format

dt = ChronoUtils.parse_iso("2025-06-07T14:15:00")
iso_str = ChronoUtils.to_iso(dt)

6. Day/Week Boundaries

today = datetime.date.today()
start_day, end_day = ChronoUtils.get_day_bounds(today)
start_week, end_week = ChronoUtils.get_week_bounds(today, start_of_week=0)  # Monday

7. Add/Subtract Weeks, Months, Years

from django_chrono import ChronoUtils

dt = datetime.date(2025, 6, 7)
dt_plus_2w = ChronoUtils.add_weeks(dt, 2)   # +2 weeks
dt_minus_1m = ChronoUtils.sub_months(dt, 1) # -1 month
dt_plus_3y = ChronoUtils.add_years(dt, 3)   # +3 years

8. Calculate Difference

d1 = datetime.date(2024, 6, 7)
d2 = datetime.date(2025, 6, 7)
w_diff = ChronoUtils.diff_in_weeks(d2, d1)    # 52
m_diff = ChronoUtils.diff_in_months(d2, d1)   # 12
y_diff = ChronoUtils.diff_in_years(d2, d1)    # 1

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

django_chrono-0.1.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

django_chrono-0.1.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file django_chrono-0.1.1.tar.gz.

File metadata

  • Download URL: django_chrono-0.1.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for django_chrono-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f3443b43a3a9111421937274b705e9cbd13ff729e969d6107814e4949863771b
MD5 14cc7e27ecd4ee3d4aa60ff91f5ca71e
BLAKE2b-256 ff5e48fed8b3706b4b47bb82527862f371f7a1c2d1744f8428602a76b8ecc94f

See more details on using hashes here.

File details

Details for the file django_chrono-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: django_chrono-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for django_chrono-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5c3a9ee02fcbf044230ee54157d065ad08d51f15ecd40ebe5fe2f59ec8b41bb
MD5 92709e0bc2c8fb1162c198e8d3aeb832
BLAKE2b-256 5912d5c643c6461e00ed2fafa1bcc09d86849da5f2095d2dd339c9d4e223d383

See more details on using hashes here.

Supported by

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