Time utility functions
Project description
Time Utility 0.2.1
Time utility is a series of utility methods regarding date and time for python.
Note: This package requires python 3.6 and higher
Installation
pip3 install time_utility
Import
from time_utility import TimeUtility
Usage
The following are the methods available in TimeUtility
- ###
is_naive(target_datetime)
Checks if the given datetime object is naive.
Parameters:
target_datetime: datetime.datetime
=> The target datetime to be checked
Returns: bool
Example:
from time_utility import TimeUtility
is_it_naive = TimeUtility.is_naive(TimeUtility.now())
- ###
is_aware(target_datetime)
Checks if the given datetime object is aware
Example:
from time_utility import TimeUtility
is_it_aware = TimeUtility.is_aware(TimeUtility.now())
- ####
make_aware(target_datetime, timezone=pytz.utc)
Returns an aware datetime object based on the naive target_datetime
Parameters:
target_datetime: datetime.datetime
=> The target datetimetimezone
[optional] => The preferred timezone. [default: UTC]
returns datetime.datetime
Example:
from time_utility import TimeUtility
from datetime import datetime
aware = TimeUtility.make_aware(datetime.now())
- ####
now(timezone=pytz.utc)
Returns an aware instance of the current datetime
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]
returns datetime.datetime
Example:
from time_utility import TimeUtility
now = TimeUtility.now()
- ####
today(timezone=pytz.utc)
Returns an aware instance of today's date
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]
returns datetime.date
Example:
from time_utility import TimeUtility
today = TimeUtility.today()
- ####
get_date_start(timezone=pytz.utc, year = None, month = None, day = None)
Returns the date and time of the beginning of the day with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]month: int
=> The target month. [default: None (will be set to current month)]day: int
=> The target day. [default: None (will be set to current day)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_date_start(year=2020, month=5)
- ####
get_date_end(timezone=pytz.utc, year = None, month = None, day = None)
Returns the date and time of the ending of the day with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]month: int
=> The target month. [default: None (will be set to current month)]day: int
=> The target day. [default: None (will be set to current day)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_date_end(year=2020, month=5)
- ####
get_month_start(timezone=pytz.utc, year = None, month = None)
Returns the date and time of the beginning of the month with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]month: int
=> The target month. [default: None (will be set to current month)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_month_start(year=2020, month=5)
- ####
get_month_end(timezone=pytz.utc, year = None, month = None)
Returns the date and time of the ending of the month with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]month: int
=> The target month. [default: None (will be set to current month)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_month_end(year=2020, month=5)
- ####
get_year_start(timezone=pytz.utc, year = None)
Returns the date and time of the beginning of the year with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_year_start(year=2020)
- ####
get_year_end(timezone=pytz.utc, year = None)
Returns the date and time of the ending of the year with the given timezone
Parameters:
timezone
[Optional] => The preferred timezone [default: UTC]year: int
=> The target year. [default: None (will be set to current year)]
returns datetime.datetime
Example:
from time_utility import TimeUtility
day_start = TimeUtility.get_year_end(year=2020)
- ####
adjust_offset(original_datetime, offset, local_to_utc)
Creates and returns a new datetime object using the given datetime object with the given offset in minutes. The offset should be positive for timezones ahead of UTC (e.g. India) and negative for timezones before UTC (e.g. US)
Note that the offset obtained in Javascript vianew Date().getTimezoneOffset()
should be multiplied by -1.
Parameters:
original_datetime: datetime.datetime
=> The original datetime to be adjustedoffset: int
=> The offset in minuteslocal_to_utc
=> Set to True if the original datetime is in local time and set to False if the original datetime is in UTC time
returns datetime.datetime
Example:
from time_utility import TimeUtility
from datetime import datetime
adjusted_datetime = TimeUtility.adjust_offset(TimeUtility.make_aware(datetime.now()), 330, True)
- ####
get_period(year, month, day, period, offset = 0)
Gets the start and the end datetime of a selected period
Parameters:
year: int
=> The selected yearmonth: int
=> The selected monthday: int
=> The selected dayperiod: str
=> The selected period. Your options are:TimeUtility.DAILY
,TimeUtility.MONTHLY
, andTimeUtility.ANNUAL
offset: int
[optional] => The offset from UTC to adjust the start and the end [default: 0]
returns (datetime.datetime, datetime.datetime)
Example:
from time_utility import TimeUtility
start, end = TimeUtility.get_period(year=2020, month=2, day=10, period=TimeUtility.MONTHLY, offset=330)
- ####
difference(large_time, small_time, time_span = TimeUtility.SECOND)
Calculates the difference between two datetime object based on the given time-span
Parameters:
large_time: datetime.datetime
=> The bigger datetime object of the twosmall_time: datetime.datetime
=> The smaller datetime object of the twotime_span: str
[Optional] => The time-span unit of time to calculate the difference. The options areTimeUtility.MICROSECOND
,TimeUtility.SECOND
,TimeUtility.MINUTE
,TimeUtility.HOUR
,TimeUtility.DAY
. [default: TimeUtility.SECOND]
returns int
Example:
from time_utility import TimeUtility
difference = TimeUtility.difference(TimeUtility.adjust_offset(TimeUtility.now(), 120, False), TimeUtility.now(), TimeUtility.MINUTE)
- ####
is_leap_year(year = None)
Checks if the given year is a leap year or not
Parameters:
year: int
[Optional] => The target year [default: None (will be set to current year)]
returns bool
Example:
from time_utility import TimeUtility
is_leap = TimeUtility.is_leap_year(year=2020)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file time_utility-0.2.1.tar.gz
.
File metadata
- Download URL: time_utility-0.2.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aa5771b9c86c9c597bd7fcb0e5c1a6c1378c8c744f857442c9897a1a46c2fa9 |
|
MD5 | a6b30991a1f499e406cc077e30b99e99 |
|
BLAKE2b-256 | 7e956d5e5f4d8c2d4b03d379575e77eece5e3cdfcd27c87feb851b3633b5f88b |
File details
Details for the file time_utility-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: time_utility-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7ad892769d6df407ebf15b16e42bb3ed1e702b30028eab2f911dd51fa477c1a |
|
MD5 | 3291e3f6e371db87b48e87dd861a3147 |
|
BLAKE2b-256 | 203eaca93ec78c7101a6383b53240db945fe1158e5c02d68830e782d364a8ea3 |