Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dj-kaos-utils / datetime.py
Size: Mime:
import datetime
from datetime import timedelta
from random import randrange

from dateutil.parser import parse
from django.utils import timezone


def to_tz(dt):
    return dt.astimezone(timezone.get_current_timezone())


def parse_dt_tz(datetime_str):
    return parse(datetime_str).astimezone(timezone.get_current_timezone())


def round_dt_10mins(dt):
    return to_tz(datetime.datetime.utcfromtimestamp(round(dt.timestamp() / 600, 0) * 600).replace(tzinfo=timezone.utc))


def randrange0(range):
    if not range:
        return 0
    return randrange(range)


def local_now():
    return timezone.localtime(timezone.now())


def one_week_from_now():
    return local_now() + timedelta(weeks=1)


def get_next_day_of_week(day, reference=local_now()):
    return reference + datetime.timedelta((day - reference.weekday()) % 7)