visiannot.tools.ToolsDateTime

Module with functions for date-time management

Summary

Functions

visiannot.tools.ToolsDateTime.convertAbsoluteDatetimeStringToFrame(…)

Converts absolute date-time string to frame number

visiannot.tools.ToolsDateTime.convertAbsoluteDatetimeToFrame(…)

Converts absolute datetime to frame number

visiannot.tools.ToolsDateTime.convertDatetimeToString(…)

Converts datetime to string “yyyy-mm-ddTHH:MM:SS.SSS” or “yyyy-mm-ddTHH-MM-SS”

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteDatetime(…)

Converts frame number to absolute datetime

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteDatetimeString(…)

Converts frame number to absolute datetime string

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteTimeString(…)

Converts frame number to absolute time string “HH:MM:SS.sss” (date not provided)

visiannot.tools.ToolsDateTime.convertFrameToString(…)

Converts frame number to string “HH:MM:SS.sss”

visiannot.tools.ToolsDateTime.convertFrameToTime(…)

Converts frame number to time as hour/minute/second/msec

visiannot.tools.ToolsDateTime.convertMsecToAbsoluteTimeString(…)

Converts milliseconds to absolute time string “HH:MM:SS.sss” (date not provided)

visiannot.tools.ToolsDateTime.convertSectimeToTime(time)

Converts time in seconds to time as hour/minute/second/msec

visiannot.tools.ToolsDateTime.convertStringColonToFrame(…)

Converts time string to frame number

visiannot.tools.ToolsDateTime.convertStringToDatetime(…)

Converts date-time string to datetime

visiannot.tools.ToolsDateTime.convertTimeToFrame(fps)

Converts time as hour/minute/second/millisecond to frame number

visiannot.tools.ToolsDateTime.convertTimeToString(…)

Converts time as hour/minute/second/msec to string “HH:MM:SS.sss”

visiannot.tools.ToolsDateTime.getBeginningEndingDateTimeFromList(…)

Gets the beginning and ending date-time of a list of data files

visiannot.tools.ToolsDateTime.getDatetimeFromPath(…)

Gets datetime contained in a file name

API

Functions

visiannot.tools.ToolsDateTime.convertAbsoluteDatetimeStringToFrame(content, fps, beginning_datetime, **kwargs)[source]

Converts absolute date-time string to frame number

The input beginning datetime is substracted to the absolute datetime to convert, so that the converted frame number is relative to the input beginning datetime.

Parameters
  • content (str) – absolute datetime string in format "%Y-%m-%dT%H:%M:%S.sss", where sss is millisecond

  • fps (int or float) – frequency related to the converted frame number

  • beginning_datetime (datetime.datetime) – beginning datetime which is the reference for the converted frame number

  • kwargs – keyword argument of ToolsDateTime.convertStringToDatetime()

Returns

frame number

Return type

int

visiannot.tools.ToolsDateTime.convertAbsoluteDatetimeToFrame(date_time, fps, beginning_datetime)[source]

Converts absolute datetime to frame number

The input beginning datetime is substracted to the absolute datetime to convert, so that the converted frame number is relative to the input beginning datetime.

Parameters
  • content (instace of datetime.datetime) – absolute datetime

  • fps (int or float) – frequency related to the converted frame number

  • beginning_datetime (datetime.datetime) – beginning datetime which is the reference for the converted frame number

Returns

frame number

Return type

int

visiannot.tools.ToolsDateTime.convertDatetimeToString(date_time, fmt=0)[source]

Converts datetime to string “yyyy-mm-ddTHH:MM:SS.SSS” or “yyyy-mm-ddTHH-MM-SS”

Parameters
  • date_time (datetime.datetime) – datetime to convert

  • fmt (int) – output format, 0 => “HH:MM:SS.SSS” or 1 => “HH-MM-SS” (no milliseconds)

Returns

date-time string

Return type

str

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteDatetime(frame_nb, fps, beginning_datetime)[source]

Converts frame number to absolute datetime

The input beginning datetime is added to the frame number, so that the converted datetime is absolute.

Parameters
  • frame_nb (int) – frame number to convert

  • fps (int or float) – frequency related to the frame number

  • beginning_datetime (datetime.datetime) – reference datetime to get absolute datetime

Returns

absolute datetime

Return type

datetime.datetime

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteDatetimeString(frame_nb, fps, beginning_datetime, **kwargs)[source]

Converts frame number to absolute datetime string

The input beginning datetime is added to the frame number, so that the converted datetimetime string is absolute.

Parameters
  • frame_nb (int) – frame number to convert

  • fps (int or float) – frequency related to the frame number

  • beginning_datetime (datetime.datetime) – reference datetime to get absolute datetime

  • kwargs – keyword arguments of convertDatetimeToString()

Returns

absolute datetime

Return type

str

visiannot.tools.ToolsDateTime.convertFrameToAbsoluteTimeString(frame_nb, fps, beginning_datetime)[source]

Converts frame number to absolute time string “HH:MM:SS.sss” (date not provided)

The input beginning datetime is added to the frame number, so that the converted time string is absolute.

Parameters
  • frame_nb (int) – frame number to convert

  • fps (int or float) – frequency related to the frame number

  • beginning_datetime (datetime.datetime) – reference datetime to get absolute datetime

Returns

absolute time “HH:MM:SS.sss” (date not provided)

Return type

str

visiannot.tools.ToolsDateTime.convertFrameToString(frame_nb, fps)[source]

Converts frame number to string “HH:MM:SS.sss”

Parameters
  • frame_nb (int) – frame number to convert

  • fps (int or float) – frequency related to the frame number

Returns

time with format “HH:MM:SS.sss”

Return type

str

visiannot.tools.ToolsDateTime.convertFrameToTime(frame_nb, fps)[source]

Converts frame number to time as hour/minute/second/msec

Parameters
  • frame_nb (int) – frame number

  • fps (int or float) – frequency related to the frame number

Returns

  • hour (int)

  • minute (int)

  • second (int)

  • millisecond (int)

visiannot.tools.ToolsDateTime.convertMsecToAbsoluteTimeString(msec, beginning_datetime)[source]

Converts milliseconds to absolute time string “HH:MM:SS.sss” (date not provided)

The input beginning datetime is added to the input milliseconds, so that the converted time string is absolute.

Parameters
  • msec (int) – milliseconds to convert

  • beginning_datetime (datetime.datetime) – reference datetime to get absolute datetime

Returns

absolute time “HH:MM:SS.sss” (date not provided)

Return type

str

visiannot.tools.ToolsDateTime.convertSectimeToTime(time)[source]

Converts time in seconds to time as hour/minute/second/msec

Parameters

time (int or float) – time in seconds

Returns

  • hour (int)

  • minute (int)

  • second (int)

  • millisecond (int)

visiannot.tools.ToolsDateTime.convertStringColonToFrame(time_string, fps)[source]

Converts time string to frame number

Parameters
  • time_string (str) – time in format “HH:MM:SS”, “MM:SS” or “SS” (there can be milliseconds appended “.sss”)

  • fps (int or float) – frequency related to the converted frame number

Returns

frame number

Return type

int

visiannot.tools.ToolsDateTime.convertStringToDatetime(datetime_str, fmt, time_zone=None)[source]

Converts date-time string to datetime

Parameters
  • content (str) – date-time string

  • fmt (str) – date-time string format, might be posix, format_T (%Y-%m-%dT%H:%M:%S.sss, where sss is millisecond), or any format supported by datetime.strptime

  • time_zone (str) – timezone compliant with package pytz

Returns

datetime

Return type

datetime.datetime

visiannot.tools.ToolsDateTime.convertTimeToFrame(fps, hour=0, minute=0, sec=0, msec=0)[source]

Converts time as hour/minute/second/millisecond to frame number

Parameters
  • fps (int or float) – frequency related to the converted frame number

  • hour (int) –

  • minute (int) –

  • sec (int) –

  • msec (int) –

Returns

frame number

Return type

int

visiannot.tools.ToolsDateTime.convertTimeToString(hour, minute, sec, msec=0)[source]

Converts time as hour/minute/second/msec to string “HH:MM:SS.sss”

Parameters
  • hour (int) –

  • minute (int) –

  • sec (int) –

  • msec (int) –

Returns

time with format “HH:MM:SS.sss”

Return type

str

visiannot.tools.ToolsDateTime.getBeginningEndingDateTimeFromList(file_path_list, key_data, freq_data, *args, **kwargs)[source]

Gets the beginning and ending date-time of a list of data files

The beginning date-time must be in the path of the data files.

Parameters
  • file_path_list (list) – list of paths to the data files

  • key_data (str) – key to access the data (in case of .mat or .h5)

  • freq_data (int or float) – data frequency

  • args – positional arguments of getDatetimeFromPath(), minus the first one

  • kwargs – keyword arguments of getDatetimeFromPath() (keyword argument fmt will be ignored here)

Returns

  • beginning_datetime_list (list) – instances of datetime.datetime (beginning date-time of the files)

  • ending_datetime_list (list) – instances of datetime.datetime (ending date-time of the files)

visiannot.tools.ToolsDateTime.getDatetimeFromPath(path, datetime_del, datetime_pos, datetime_fmt, **kwargs)[source]

Gets datetime contained in a file name

Parameters

If datetime is not in the file name, then set to None one of the following positional argument: datetime_del, datetime_pos, datetime_fmt. By default the returned datetime is datetime(2000, 1, 1, 0, 0, 0).

Returns

datetime

Return type

datetime.datetime