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.format_str (str, Default: YMD_HMSF_DATE_FORMAT) The format string to convert the date to. |
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. |
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.format_str (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_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 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 time_utils import TimeUtil # Convert a date in milliseconds to a date time object dt = TimeUtil.date_ms_to_date_time(1617223200000) print(dt)
Output
2021-03-31 00:00:00
-
TimeUtil.date_str_to_date_time
Code
from 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 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 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_timezone_offset_hours
Code
from 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 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 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 time_utils import TimeUtil from time_utils import 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.1.tar.gz
(10.2 kB
view details)
Built Distribution
File details
Details for the file nrt_time_utils-1.0.1.tar.gz
.
File metadata
- Download URL: nrt_time_utils-1.0.1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae2e214326906921eb7064e58f1781cc4e611eb97bdd6c77e4bdf38fb4a4eb8 |
|
MD5 | d982053a8fd950c58714a7c72b775035 |
|
BLAKE2b-256 | 13be8ba19d7434540ff6a44749a4716d5d1bf9ca579e0d8579c9daa27b220c3d |
File details
Details for the file nrt_time_utils-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: nrt_time_utils-1.0.1-py3-none-any.whl
- Upload date:
- Size: 7.8 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 | 7f7c94da25e32c91c3011951aa4e0ef216c465c3fa5537d86137e5c071eb25d0 |
|
MD5 | 997c460ea274de316e63cd0f03d50a72 |
|
BLAKE2b-256 | 6bb2cdb17e3fe8ef3008cf125ebb82d326fef393c9b3cfe1e11f8bf2524161fc |