in mapillary_tools/exif_read.py [0:0]
def format_time(time_string: str) -> Tuple[datetime.datetime, bool]:
"""
Format time string with invalid time elements in hours/minutes/seconds
Format for the timestring needs to be "%Y_%m_%d_%H_%M_%S"
e.g. 2014_03_31_24_10_11 => 2014_04_01_00_10_11
"""
subseconds = False
data = time_string.split("_")
hours, minutes, seconds = int(data[3]), int(data[4]), int(data[5])
date = datetime.datetime.strptime("_".join(data[:3]), "%Y_%m_%d")
subsec = 0.0
if len(data) == 7:
if float(data[6]) != 0:
subsec = float(data[6]) / 10 ** len(data[6])
subseconds = True
date_time = date + datetime.timedelta(
hours=hours, minutes=minutes, seconds=seconds + subsec
)
return date_time, subseconds