Добавление продолжительности в строку времени начала, чтобы получить время окончания? - PullRequest
0 голосов
/ 30 января 2019

У меня есть строка с именем startTime, и я хочу добавить duration (это в минутах), чтобы получить finishTime.

Вот некоторые примеры данных:

startTime : 10:15

duration: 90

В python, как лучше добавить эту продолжительность, чтобы finishTime было 11:45?

Большое спасибо, любая помощь очень ценится.

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Я рекомендую использовать pandas для подобных задач, поскольку его использование намного более интуитивно понятно, чем использование модуля datetime напрямую.

import pandas as pd
startTime = '10:15'
duration = '90'
finishTime = (pd.to_datetime(startTime , format='%H:%M') 
              + pd.to_timedelta(duration + 'min')).strftime(format='%H:%M')

Как указаноTorxed и shmee, pandas не является встроенным модулем, и он довольно большой, около 70 МБ, поэтому он может подойти не всем.
Но, поскольку pandas - это лучший инструмент для обработки данных временных рядов, поскольку вопросвыглядело как то, что обычно требуется при обработке временных рядов, я подумал, что решение с пандами может быть интересным / полезным.

0 голосов
/ 30 января 2019

Вы можете использовать pd.to_datetime, чтобы преобразовать строки в объекты даты и времени и добавить минуты, используя pd.to_timedelta.Наконец, конвертируйте дату и время в желаемый формат, используя strftime:

import pandas as pd
(pd.to_datetime( '10:15', format='%H:%M') + pd.to_timedelta(90, unit='m')).strftime('%H:%M')
#'11:45'
0 голосов
/ 30 января 2019

Попробуйте:

import datetime

d = datetime.datetime.strptime("10:12","%H:%m") + datetime.timedelta(minutes=90)
new = d.strftime('%H:%m')

new будет 11:45.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...