StevenD
StevenD

Reputation: 27

How to convert minutes to days, hours, and minutes?

I am a beginner to Python so I do not know a lot of terms or anything really. Can I ask on how to convert minutes to hours and minutes EX: 75 minutes ->0 days, 1 hour, 15 minutes

print("Welcome to the Scheduler!")
print("What is your name?")
name = input()
print("How many chocolates are there in the order?")
chocolates = input()
print("How many chocolate cakes are there in the order?")
chocolate_cakes = input()
print("How many chocolate ice creams are in the order?")
chocolate_ice_creams = input()
total_time = float(chocolates) + float(chocolate_cakes) + float(chocolate_ice_creams)
print("Total Time:")
print("How many minutes do you have before the order is due?")
minutes = input()
extra_time = float(minutes) - float(total_time)
print("Your extra time for this order is", extra_time)

time = extra_time // 60

print("Thank you,", name)

Upvotes: 3

Views: 14928

Answers (6)

bird
bird

Reputation: 1

n = int (input())

day = int (n // 1440)
hours = int (n % 1440) // 60
mins = int (n % 1440) % 60

print(day) print(hours) print(mins)

Upvotes: 0

Harold Grosjean
Harold Grosjean

Reputation: 53

You actually have to round down values in order to get integers.

import math

def transform_minutes(total_minutes):

    days = math.floor(total_minutes / (24*60))
    leftover_minutes = total_minutes % (24*60)
    
    hours = math.floor(leftover_minutes / 60)
    mins = total_minutes - (days*1440) - (hours*60)
    
    #out format = "days-hours:minutes:seconds"
    out = '{}-{}:{}:00'.format(days, hours, mins)
    return out

Upvotes: 0

joao campos
joao campos

Reputation: 21

This code above does not work I started to make my own version of how this code could help you remember I am an amateur is true

from datetime import datetime

day = minutes = hours = 0

time = datetime.now().minute
days = time / 1440
leftover_minutes = time % 1440
hours = leftover_minutes / 60
mins = time - (days*1440) - (hours*60)
print(str(days) + " days, " + str(hours) + " hours, " + str(mins) +  " mins. ")

Upvotes: 0

joao campos
joao campos

Reputation: 21

# Python Program to Convert seconds
# into hours, minutes and seconds
  
def convert(seconds):
    seconds = seconds % (24 * 3600)
    hour = seconds // 3600
    seconds %= 3600
    minutes = seconds // 60
    seconds %= 60
      
    return "%d:%02d:%02d" % (hour, minutes, seconds)
      
# Driver program
n = 12345
print(convert(n))


method = a
import datetime
str(datetime.timedelta(seconds=666))
'0:11:06'

method = b
def convert(seconds):
    seconds = seconds % (24 * 3600)
    hour = seconds // 3600
    seconds %= 3600
    minutes = seconds // 60
    seconds %= 60      
    return "%d:%02d:%02d" % (hour, minutes, seconds)

Upvotes: 1

joao campos
joao campos

Reputation: 21

from datetime import datetime

day = minutes = hours = 0

day = datetime.now ()
day = day.day
minutes = datetime.now ()
minutes = minutes.minute
hours = datetime.now ()
hours = hours.hour


print ("It's day" + str (day) + "and it's" + str (minutes) + "minutes and" + str (hours) + "hours.")

Upvotes: 0

TyCharm
TyCharm

Reputation: 425

Well if you're given an input in minutes that is greater than equal to 1440 minutes, then you have at least a day. So to handle this (and the other aspects of time) we can use modulus (%).

days = 0
hours = 0
mins = 0

time = given_number_of_minutes   
days = time / 1440     
leftover_minutes = time % 1440
hours = leftover_minutes / 60
mins = time - (days*1440) - (hours*60)
print(str(days) + " days, " + str(hours) + " hours, " + str(mins) +  " mins. ")

This should work.

Upvotes: 5

Related Questions