Time utilities in Python
Project description
Time Utilities
Time utilities in Python.
TimeUtil class
Methods
Method | Description | Parameters | Returns |
---|---|---|---|
date_ms_to_date_str |
Converts a date in milliseconds to a date string. | date_ms (int) The date in milliseconds to convert to a date string.date_format (str, Default: YMD_HMSF_DATE_FORMAT) The format string to convert the date to.tz (Default: None) Timezone. |
str The date string. |
date_ms_to_date_time |
Converts a date in milliseconds to a date time object. | date_ms (int) The date in milliseconds to convert to a date time object.tz (Default: None) Timezone. |
datetime The date time object. |
date_str_to_date_time |
Converts a date string to a date time object. | date_str (str) The date string to convert to a date time object.date_format (str, Default: YMD_HMSF_DATE_FORMAT) The format string to convert the date to. |
datetime The date time object. |
date_time_to_date_ms |
Converts a date time object to a date in milliseconds. | dt (datetime) The date time object to convert to a date in milliseconds. |
int The date in milliseconds. |
get_current_date_ms |
Returns the current date in milliseconds. | int The current date in milliseconds. |
|
get_day_end_date_ms |
Returns the end of the day in milliseconds. | date_ms (int) The date in milliseconds to get the end of the day.tz (Default: None) Timezone. |
int The end of the day in milliseconds. |
get_day_start_date_ms |
Returns the start of the day in milliseconds. | date_ms (int) The date in milliseconds to get the start of the day.tz (Default: None) Timezone. |
int The start of the day in milliseconds. |
get_timezone |
Returns the timezone. | timezone_str (str) A string representing the timezone. |
pytz timezone. Raise Value error in case the timezone not exist |
get_timezone_offset_hours |
Returns the timezone offset in hours. | timezone_str (str) A string representing the timezone. |
int The timezone offset in hours. |
is_leap_year |
Checks if a year is a leap year. | year (int) The year to check if it is a leap year. |
bool True if the year is a leap year, False otherwise. |
is_timeout_ms |
Checks if a timeout in milliseconds has passed. | start_time_ms (int) The start time in milliseconds.timeout_ms (int) The timeout in milliseconds. |
bool True if the timeout has passed, False otherwise. |
is_date_in_format |
Checks if a date string is in a specific format. | date_str (str) The date string to check.format_str (str) The format string to check. |
bool True if the date string is in the format, False otherwise. |
Examples:
-
TimeUtil.date_ms_to_date_str
Code
from nrt_time_utils.time_utils import TimeUtil # Convert a date in milliseconds to a date string date_str = TimeUtil.date_ms_to_date_str(1617223200000) print(date_str)
Output
2021-03-31 00:00:00.000
-
TimeUtil.date_ms_to_date_time
Code
from nrt_time_utils.time_utils import TimeUtil # Convert a date in milliseconds to a date time object dt = TimeUtil.date_ms_to_date_time(1609459200000, 'UTC') print(dt) dt = TimeUtil.date_ms_to_date_time()
Output
2021-01-01 00:00:00+00:00
-
TimeUtil.date_str_to_date_time
Code
from nrt_time_utils.time_utils import TimeUtil # Convert a date string to a date time object dt = TimeUtil.date_str_to_date_time('2021-03-31 00:00:00.000') print(dt)
Output
2021-03-31 00:00:00
-
TimeUtil.date_time_to_date_ms
Code
from nrt_time_utils.time_utils import TimeUtil from datetime import datetime # Convert a date time object to a date in milliseconds date_ms = TimeUtil.date_time_to_date_ms(datetime(2021, 3, 31, 0, 0, 0)) print(date_ms)
Output
1617223200000
-
TimeUtil.get_current_date_ms
Code
from nrt_time_utils.time_utils import TimeUtil # Get the current date in milliseconds current_date_ms = TimeUtil.get_current_date_ms() print(current_date_ms)
Output
1617223200000
-
TimeUtil.get_day_end_date_ms
Code
from nrt_time_utils.time_utils import TimeUtil # Get the end of the day in milliseconds day_end_date_ms = TimeUtil.get_day_end_date_ms(1612137600001, 'UTC') print(day_end_date_ms)
Output
1612223999999
-
TimeUtil.get_day_start_date_ms
Code
from nrt_time_utils.time_utils import TimeUtil # Get the start of the day in milliseconds day_start_date_ms = TimeUtil.get_day_start_date_ms(1612137600001, 'UTC') print(day_start_date_ms)
Output
1612137600000
-
TimeUtil.get_timezone
Code
from nrt_time_utils.time_utils import TimeUtil # Get the timezone timezone = TimeUtil.get_timezone('Asia/Jerusalem') print(timezone)
Output
Asia/Jerusalem
-
TimeUtil.get_timezone_offset_hours
Code
from nrt_time_utils.time_utils import TimeUtil # Get the timezone offset in hours timezone_offset = TimeUtil.get_timezone_offset_hours('PDT') print(timezone_offset)
Output
-7
-
TimeUtil.is_leap_year
Code
from nrt_time_utils.time_utils import TimeUtil # Check if a year is a leap year is_leap_year = TimeUtil.is_leap_year(2020) print(is_leap_year)
Output
True
-
TimeUtil.is_timeout_ms
Code
from nrt_time_utils.time_utils import TimeUtil from time import sleep current_date_ms = TimeUtil.get_current_date_ms() is_timeout = TimeUtil.is_timeout_ms(current_date_ms, 1000) print(is_timeout) sleep(2) is_timeout = TimeUtil.is_timeout_ms(current_date_ms, 1000) print(is_timeout)
Output
False True
-
TimeUtil.is_date_in_format
Code
from nrt_time_utils.time_utils import TimeUtil, YMD_HMSF_DATE_FORMAT # Check if a date string is in a specific format is_date_in_format = \ TimeUtil.is_date_in_format('2021-03-31 00:00:00.000', YMD_HMSF_DATE_FORMAT) print(is_date_in_format)
Output
True
Timer methods
Record the time it takes to execute a method or a block of code.
Methods
Method | Description | Parameters | Returns |
---|---|---|---|
method_timer |
Measure method execution time. | function The method to measure it's time.*args The method's arguments.**kwargs The method's keyword arguments. |
Timer Object that contains method execution time and results. |
timer decorator |
Timer decorator that measure the method execution time, and add the results to parameter, that can be accessed by the method get_timer_results() |
is_enabled (bool, Default: True) If True, the timer is enabled, otherwise it is disabled. |
any Method result. |
get_timer_results |
Returns the timer results. | dict[list[Timer]] The timer results.{'FILE_PATH:Class.Method: [Timer]}' . |
|
reset_timer_results |
Resets the timer results. | ||
get_max_keys |
Returns the maximum amount of allowed keys in the timer results. | int The maximum amount of allowed keys in the timer results. |
|
set_max_keys |
Sets the maximum amount of allowed keys in the timer results. | max_keys (int) The maximum amount of allowed keys in the timer results. |
|
get_max_results_per_key |
Returns the maximum amount of allowed results per key in the timer results. | int The maximum amount of allowed results per key in the timer results. |
|
set_max_results_per_key |
Sets the maximum amount of allowed results per key in the timer results. | max_results_per_key (int) The maximum amount of allowed results per key in the timer results. |
|
with Timer() as t: |
Context manager that times a block of code. | Timer Object that contains block execution time and results. |
Timer class
Parameters | Description | Type | Default |
---|---|---|---|
start_date_ms |
The start date in milliseconds. | int |
|
end_date_ms |
The end date in milliseconds. | int |
None |
execution_time_ms |
The execution time in milliseconds. | int |
None |
result |
The result of the method. | any |
None |
exception |
The exception that occurred during the method execution. | Exception |
None |
stack_trace |
The stack trace of the exception that occurred during the method execution. | str |
None |
__enter__ and __exit__ |
Context manager methods (with Timer() as t: ). |
Examples:
-
method_timer
Code
from from nrt_time_utils.timer import method_timer def my_method(a, b): return a + b timer = method_timer(my_method, 1, 2) print(timer.execution_time_ms)
Output
1
-
timer decorator
Code
from time import sleep from from nrt_time_utils.timer import timer, get_timer_results @timer() def my_method(a, b): sleep(1) return a + b my_method(1, 2) timer_results = get_timer_results() for timer_result_list in timer_results.values(): print(timer_result_list[0].execution_time_ms)
Output
1001
-
with Timer() as t:
Code
from time import sleep from from nrt_time_utils.timer import Timer with Timer() as t: sleep(1) print(t.execution_time_ms)
Output
1000
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
nrt_time_utils-1.0.3.tar.gz
(11.0 kB
view details)
Built Distribution
File details
Details for the file nrt_time_utils-1.0.3.tar.gz
.
File metadata
- Download URL: nrt_time_utils-1.0.3.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79cad6b6b06af80dee35f1ad7a35d9d5bcd4c8bdcaec6bdc76df0cbfb76c5ced |
|
MD5 | 1db36b4e64bee82cd17bc0115c88bb61 |
|
BLAKE2b-256 | d1aecf6fc673bfcce91d356bdca8f0b2c627a6074ea960999cf964453b763fdc |
File details
Details for the file nrt_time_utils-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: nrt_time_utils-1.0.3-py3-none-any.whl
- Upload date:
- Size: 8.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2871ad6cb83ec45204a1a212879691f501179468179880eb4118a4687905dd5 |
|
MD5 | a299fd134057bfc4ac6a2ba2b16b2aeb |
|
BLAKE2b-256 | 3da1b018f1fb9506871357e4d3f82a3286625e136a8fa28473d022f1bbe45736 |