48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
def convert_deg(x):
|
|
x = str(x)
|
|
if x != "0":
|
|
return int(x[0:2]) + ( int( x[2:4] ) + int( x[4:] ) / 100000) / 60
|
|
|
|
return x
|
|
|
|
|
|
def time_to_seconds(time):
|
|
# Разделяем на целую и дробную часть
|
|
time_str = str(time)
|
|
if '.' in time_str:
|
|
main, frac = time_str.split('.')
|
|
frac_seconds = float(f'0.{frac}')
|
|
else:
|
|
main = time_str
|
|
frac_seconds = 0.0
|
|
|
|
# Дополняем до 6 цифр (добавляем ведущий ноль если нужно)
|
|
main = main.zfill(6)
|
|
|
|
hours = int(main[0:2])
|
|
minutes = int(main[2:4])
|
|
seconds = int(main[4:6])
|
|
|
|
return hours * 3600 + minutes * 60 + seconds + frac_seconds
|
|
|
|
|
|
def datetime_to_seconds(time_str):
|
|
"""
|
|
Преобразует время в формате HH:MM:SS.sss в секунды от полуночи
|
|
Пример: '14:40:00.000' -> 52800.0
|
|
"""
|
|
# Разделяем на основное время и миллисекунды
|
|
if '.' in time_str:
|
|
hms, ms = time_str.split('.')
|
|
milliseconds = int(ms)
|
|
else:
|
|
hms = time_str
|
|
milliseconds = 0
|
|
|
|
# Парсим часы, минуты, секунды
|
|
parts = hms.split(':')
|
|
hours = int(parts[0])
|
|
minutes = int(parts[1])
|
|
seconds = int(parts[2]) if len(parts) > 2 else 0
|
|
|
|
return hours * 3600 + minutes * 60 + seconds + milliseconds / 1000 |