btrdb.utils.timez#
Time related utilities
- btrdb.utils.timez.currently_as_ns()#
Returns the current UTC time as nanoseconds since epoch
- btrdb.utils.timez.datetime_to_ns(dt)#
Converts a datetime object to nanoseconds since epoch. If a timezone aware object is received then it will be converted to UTC.
- Parameters:
dt (datetime) –
- Returns:
nanoseconds
- Return type:
int
- btrdb.utils.timez.ns_delta(days=0, hours=0, minutes=0, seconds=0, milliseconds=0, microseconds=0, nanoseconds=0)#
Similar to timedelta, ns_delta represents a span of time but as the total number of nanoseconds.
- Parameters:
days (int, float, decimal.Decimal) – days (as 24 hours) to convert to nanoseconds
hours (int, float, decimal.Decimal) – hours to convert to nanoseconds
minutes (int, float, decimal.Decimal) – minutes to convert to nanoseconds
seconds (int, float, decimal.Decimal) – seconds to convert to nanoseconds
milliseconds (int, float, decimal.Decimal) – milliseconds to convert to nanoseconds
microseconds (int, float, decimal.Decimal) – microseconds to convert to nanoseconds
nanoseconds (int) – nanoseconds to add to the time span
- Returns:
amount of time in nanoseconds
- Return type:
int
- btrdb.utils.timez.ns_to_datetime(ns)#
Converts nanoseconds to a datetime object (UTC)
- Parameters:
ns (int) – nanoseconds since epoch
- Returns:
nanoseconds since epoch as a datetime object
- Return type:
datetime
- btrdb.utils.timez.to_nanoseconds(val)#
Converts datetime, datetime64, float, str (RFC 2822) to nanoseconds. If a datetime-like object is received then nanoseconds since epoch is returned.
- Parameters:
val (datetime, datetime64, float, str) – an object to convert to nanoseconds
- Returns:
object converted to nanoseconds
- Return type:
int
Notes
The following string formats are supported for conversion.
Format String
Description
%Y-%m-%d %H:%M:%S.%f%z
RFC3339 format
%Y-%m-%d %H:%M:%S.%f
RFC3339 with UTC default timezone
%Y-%m-%dT%H:%M:%S.%fZ
JSON encoding, UTC timezone
%Y-%m-%dT%H:%M:%SZ
JSON encoding, UTC timezone, without μs
%Y-%m-%dT%H:%M:%S.%f%z
JSON-like encoding
%Y-%m-%dT%H:%M:%S.%f
JSON-like encoding, UTC default timezone
%Y-%m-%d %H:%M:%S%z
human readable date time with TZ
%Y-%m-%d %H:%M:%S
human readable date time UTC default
%Y-%m-%d
midnight at a particular date