как рассчитать дни, то определенное количество часов в днях? - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь подсчитать, сколько часов я мог бы работать. Если я работаю по четыре часа в день с сегодняшнего дня до 31 августа. Поэтому я использовал старый файл и попытался его изменить (глупо, я). Это работает, вроде как, но Я получаю дни, потом дни работают, но я хочу, чтобы часы работали. Вот код, какой бы плохой он ни был :) Я понимаю, что мне нужно будет сделать что-то совершенно другое, но у меня был go с некоторым кодом, который я написал, чтобы увидеть, сколько дней до моего дня рождения, попытался изменить его и т.д. c .... вы получите картину. да, я новичок ie.

import datetime as dt
todays_date = dt.date(2020, 4, 20)
end_of_summer = dt.date(2020, 8, 31)
days_between = todays_date - end_of_summer
print(days_between)
hours_worked = days_between * -4 
print(hours_worked)

вывод: -133 дня, 0:00:00, 532 дня, 0: 00: 00

1 Ответ

1 голос
/ 20 апреля 2020

Использование timedelta.days:

import datetime as dt
start_date = dt.date(2020, 4, 20)
end_date = dt.date(2020, 8, 31)
date_td = end_date - start_date  # you'll get a datetime.timedelta() instance here

days_between = date_td.days
print(days_between, 'days worked')

hours_worked = days_between * 4 
print(hours_worked, 'hours worked')

Вывод:

133 days worked
532 hours worked

Кроме того, рекомендуется рассчитывать временные интервалы с использованием дат начала и окончания, поэтому легко запомнить, как их вычитать без получения отрицательных значений.

Источник: https://docs.python.org/2/library/datetime.html#datetime .timedelta

...