이 페이지는 코딩도장 데이터의 읽기 전용 정적 보관본입니다.

남은퇴근시간 계산기

현우는 성인이되어 회사에입사했다.

하지만 들어간기업이 하필 할일없는 중소기업이라

퇴근시간까지 놀다가 퇴근시간에 퇴근하는것이 일상화가되어버렸다..

현우는 심심한지라 좀더효율적으로놀기위해

현재부터 퇴근시간까지 남은시간을 알려주는 계산기를 만들어

계산적으로놀고싶었다 우리가현우를 도와주자!!

(참고로 현우의퇴근시간은 17시30분이다)

input: 현재시간

output: 남은시간 : hh:mm:ss

or

남은시간 : s

심화버젼 : 이쁘게꾸며보자!

2019/03/06 12:05

leak

78개의 풀이가 있습니다.

Python 3.7
현재 시간이 퇴근 시간 이후일 경우 익일 퇴근까지 남은 시간을 출력하도록 했습니다.

import datetime as dt

cur_time = dt.datetime.today()  # 현재시간
leave_time = cur_time.replace(hour=17, minute=30, second=0)  # 퇴근시간
# 남은 시간 계산 (퇴근 시간이 지난 경우 익일 퇴근까지의 시간)
diffsec = (leave_time - cur_time).total_seconds()
diffsec = diffsec + 60 * 60 * 24 if diffsec < 0 else diffsec

print(f"다음 퇴근시간까지는 {dt.timedelta(seconds=diffsec)}({diffsec:,.0f}초) 남았습니다.")

2019/03/07 11:51

mohenjo

+1 덕분헤 datetime 함수를 배우게 되었습니다 - Kookeedd, 2019/03/15 11:38
+1 왜 저는 이 코드를 이해할수 없는것일까요.... 이걸보니 제 답이 너무 허름해보이네요ㅠㅠㅠㅠㅠㅠ으헝 - 강유석, 2019/03/18 18:15
@강유석 님. https://godoftyping.wordpress.com/2015/04/19/python-%EB%82%A0%EC%A7%9C-%EC%8B%9C%EA%B0%84%EA%B4%80%EB%A0%A8-%EB%AA%A8%EB%93%88/ 를 참조하시면, datetime 모듈, timedelta 클래스에 대한 설명이 잘 나와 있습니다. 시작이 반입니다^^ 화이팅! - mohenjo, 2019/03/18 19:23
@mohenjo 님(이거 멘션 되나요 ㅎㅎ) 죄송하지만 .total_seconds()가 뭔 함순가요? - 강유석, 2019/03/18 23:12
@강유석 님(멘션이 안되나봐욯ㅎ) `leave_time` 및 `cur_time`은 `datetime` 클래스의 객체입니다. `datetime` 객체 간의 차이는 `timedelta` 클래스의 객체(시간간격을 의미하는 객체)로 반환됩니다. `timedelta` 클래스의 인스턴트 메서드에는 `total_seconds()`라는 것이 있는데, 이를 통해 시간 간격을 초로 반환 가능합니다. - mohenjo, 2019/03/18 23:36
@강유석 님. https://datascienceschool.net/view-notebook/465066ac92ef4da3b0aba32f76d9750a/ 링크의 후반부에 `timedelta`와 `datetime` 클래스에 대한 설명이 잘 나와 있습니다. 도움이 되었으면 좋겠습니다. - mohenjo, 2019/03/18 23:37
namespace codingdojang__
{
    class Program
    {
        static void Main(string[] args)
        {
            Time_hour();
            Time_sec();
        }
        static void Time_sec()
        {
            int leave_time = 63000;
            int time = DateTime.Now.Hour * 3600 + DateTime.Now.Minute * 60 + DateTime.Now.Second;

            Console.WriteLine("퇴근까지 {0}초 남음", leave_time - time);
        }
        static void Time_hour()
        {
            int leave_time = 173000;
            string time = DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() + DateTime.Now.Second.ToString();
            string temp = (leave_time - int.Parse(time)).ToString();
            temp = temp.PadLeft(6, '0');

            temp = temp.Insert(2, ":");
            temp = temp.Insert(5, ":");

            Console.WriteLine("퇴근까지 {0}남음", temp);
        }
    }
}

2019/03/06 22:02

bat

i = list(map(int,input().split(':')))
m = 30-i[1]
print(17+(0,-1)[m < 0]-i[0],(m,60-abs(m))[m < 0],'00',sep = ':')

2019/03/11 17:27

김영성

초도 생각하였으면?? - insperChoi, 2023/08/17 13:50
h,m,s=map(int,input("현재시각 : \n [ ex) 05:24:33 ]\n\n").split(':'))

time=(17-h)*3600+(30-m)*60-s
if time<=0:
    print("퇴근하세요.")

h=int(time/3600);m=int((time-h*3600)/60);s=time-h*3600-m*60

print("퇴근까지 앞으로 {}시간 {}분 {}초".format(h,m,s))

중소기업 이라지만은 꽤 일찍 퇴근하는군요. 그나저나 키보드 자판이 낡고 작아서 숫자를 누르면 문자까지 같이 눌리는 회사인데, 현우는 업무시간에 놀지 말고 포트폴리오라도 만들어서 하루 빨리 최신 키보드 자판을 제공하여 주는 기업으로 이직 할 수있으면 좋겠읍니다~.^^

2019/05/03 16:19

암살자까마귀

using System;

namespace _61일차_10월01일
{        
    class MainApp
    {
        static void Main(string[] args)
        {
            //시간 변수 초기화
            string input =  "2020-10-01 09:00:00"; //현재 시간 구할시 System.Datetime.Now.Tostring("yyyy/MM/dd hh:mm:ss");
            string output = "2020-10-01 17:30:00";

            //string 형식을 DateTime형식으로 변환
            DateTime input_Time = Convert.ToDateTime(input);
            DateTime output_Time = Convert.ToDateTime(output);

            //시간 구하는 로직 + 출력
            TimeSpan diff = (output_Time - input_Time);
            Console.WriteLine($"남은시간 : {diff}");
        }        
    }
}

2020/10/01 19:48

MinSeung Kang

import time
from datetime import datetime
import sys

def loadingbar (iteration, total, prefix = '', suffix = '', decimals = 1, barLength = 100):
    formatStr = "{0:." + str(decimals) + "f}"
    percent = formatStr.format(100 * (iteration / float(total)))
    filledLength = int(round(barLength * iteration / float(total)))
    bar = '|' * filledLength+'-' * (barLength - filledLength)
    sys.stdout.write('\r%s <%s> %s%s %s' % (prefix, bar, percent, '%', suffix)),
    if iteration == total:
        sys.stdout.write('\n')
    sys.stdout.flush()


today=(str(datetime.today()))[11:19]
print("{} 시에 이프로그램을 실행시키셨습니다.".format(today))
h,m,s=int(today[0:2]),int(today[3:5]),int(today[6:8])
now_sec=h*60*60+m*60+s
put=input("몇시퇴근입니까? 1)5시 30분 2)8시 30분 : ")
if "1"==put:
    lim_sec=62700-now_sec
elif "2"==put:
    lim_sec=73500-now_sec

_=1
print("{}시부터 퇴근5분전까지 남은시간은 {}초입니다".format(today,lim_sec-_))
for i in range(0, lim_sec-_):
    time.sleep(1)
    loadingbar(i, lim_sec, '{}초남음'.format(lim_sec-_), 'Complete', 1, 50)
    _+=1
print("야호퇴근이다")
print("퇴근축하해 :D")
input()

2019/03/06 12:06

leak

내퇴근시간은 8시반혹은 5시반이기에; - leak, 2019/03/06 12:06
progress.bar 란함수가있네 - leak, 2019/03/06 16:55
import time
Present=time.strftime('%X',time.localtime(time.time()))
PresentTime=Present[0:2]
PresentMinutes=Present[3:5]
PresentSecond=Present[7:]
PresentTime=float(PresentTime)
PresentMinutes=float(PresentMinutes)
PresentSecond=float(PresentSecond)
PresentSecond+=3600*PresentTime
PresentSecond+=60*PresentMinutes
AnswerSecond=63000-PresentSecond
AnswerHour=AnswerSecond/3600
AnswerMinutes=AnswerSecond%3600/60
ResultSecond=AnswerSecond%3600%60
AnswerHour=str(AnswerHour)
AnswerHour=AnswerHour[0:1]
AnswerMinutes=str(AnswerMinutes)
AnswerMinutes=AnswerMinutes[0:2]
ResultSecond=str(ResultSecond)
ResultSecond=ResultSecond[0:2]
print(AnswerHour+'시간'+AnswerMinutes+'분'+ResultSecond+'초 남았습니다')

2019/03/10 16:20

강유석

t=input('enter current time : ') a=t.split(':')

h=int(a[0])3600 m=int(a[1])60 s=int(a[2]) total=h+m+s

o=173600+3060 f=o-total

h1=f//3600 m1=(f%3600)//60 s1=(f%3600)%60

print(h1,':',m1,':',s1)

2019/03/10 16:57

Fiesta

t=input('enter current time : ') a=t.split(':')

h=int(a[0])3600 m=int(a[1])60 s=int(a[2]) total=h+m+s

o=173600+3060 f=o-total

h1=f//3600 m1=(f%3600)//60 s1=(f%3600)%60

print(h1,':',m1,':',s1)

2019/03/10 16:57

Fiesta

t=input('enter current time : ') a=t.split(':')

h=int(a[0])3600 m=int(a[1])60 s=int(a[2]) total=h+m+s

o=173600+3060 f=o-total

h1=f//3600 m1=(f%3600)//60 s1=(f%3600)%60

print(h1,':',m1,':',s1)

2019/03/10 16:57

Fiesta

t=input('enter current time : ') a=t.split(':')

h=int(a[0])3600 m=int(a[1])60 s=int(a[2]) total=h+m+s

o=173600+3060 f=o-total

h1=f//3600 m1=(f%3600)//60 s1=(f%3600)%60

print(h1,':',m1,':',s1)

2019/03/10 16:57

Fiesta

t=input('enter current time : ') a=t.split(':')

h=int(a[0])3600 m=int(a[1])60 s=int(a[2]) total=h+m+s

o=173600+3060 f=o-total

h1=f//3600 m1=(f%3600)//60 s1=(f%3600)%60

print(h1,':',m1,':',s1)

2019/03/10 16:57

Fiesta

비쥬얼 스튜디오에서 작성했습니다.

#include "config.h"

void main() {
    int gohome = 173000;
    int timer;
    printf("현재 몇시 몇분 몇초인지 입력하세요 (6개의 숫자로, 단 17시30분 전이어야 함) : ");
    scanf_s("%d", &timer);

    int final = gohome - timer;

    printf("남은 시간은 %d시간 %d분 %d초입니다.", final / 10000, (final % 10000) / 100, final % 100);



}

2019/03/11 16:05

Albert

+1 현재가 13시 50분이면 173000 - 135000 = 038000 ->3시간 80분으로 표기 되는데 60진법 표기로 수정해주셔야 할것 같네요 - Hyuk, 2019/03/19 16:55

Ruby 2.2

print("현재시간을 HH:MM:SS 형식으로 입력하세요: ")
input_line = gets.chomp.split(":")
now_hour = input_line[0].to_i
now_min = input_line[1].to_i
now_sec = input_line[2].to_i

if now_hour >= 25 or now_min >= 60 or now_sec >= 60
    puts "잘못된 값을 입력했습니다."
    exit
end

m_num = (now_hour * 3600) + (now_min * 60) + now_sec
#년,월,일은 임의의 값으로 넣었습니다
ans_time = Time.local(2019,1,1,17,30,00,0) - m_num
puts "퇴근까지 남는시간 : #{ans_time.hour}시간#{ans_time.min}분#{ans_time.sec}초"


2019/03/17 02:17

리드캣

C로 작성했습니다.

#include <stdio.h>
#include <time.h>

int main()
{
    int close = 173000;
    int now = time(NULL), r_time, hour, min, sec, check_sign = 0;

    close = (close / 10000) * 60 * 60 + ((close / 100) % 100) * 60 + close % 100;

    now += 3600 * 9;                  // 한국 GMT +9H
    now %= (86400);

    r_time = close - now;
    if (r_time < 0)
    {
        check_sign = 1;      // 퇴근시각 - 현재시각이 음수면, check_sign에 기록한 뒤
        r_time *= -1;        //양수로 바꾸기
    }
    hour = r_time / 3600;
    min = (r_time % 3600) / 60;
    sec = (r_time % 3600) % 60;

    if (check_sign)
    {
        printf("\n\n\n --- 오늘도 야근이네.. ---\n");
        printf(" --- 야근한지 %d시간 %d분 %d초 경과했습니다. ---\n", hour, min, sec);

    }
    else
    {
        if (r_time == 0)
            printf("\n\n\n --- 퇴근할 시간입니다. ---\n --- 축! 퇴근! ---\n");
        else
            printf("\n\n\n --- 퇴근시간까지 %d시간 %d분 %d초 남았습니다. ---\n", hour, min, sec);
    }
    return 0;
}

2019/03/21 10:32

Hyuk

import time import datetime

cur_time = time.strftime('%X', time.localtime(time.time())) now = datetime.datetime.now() getoff_time = now.replace(hour = 17, minute = 30)

result = gettof_time - now

print("현재 시간은 %s입니다." %cur_time) print("퇴근까지 남은 시간은 %s 입니다." %result)

2019/03/24 15:51

최상혁

time = input()

def To_home(time):
    h, m, s = map(int,time.split(':'))
    seconds = h * 3600 + m * 60 + s
    remain = 63000 - seconds
    hh = str(remain // 3600)
    mm = str(remain % 3600 // 60)
    ss = str(remain % 3600 % 60)

    return '{}:{}:{}'.format(hh.zfill(2), mm.zfill(2), ss.zfill(2))

print(To_home(time))

2019/03/25 10:58

D.H.

function diff(date1, date2) {
    var diff = date2 - date1;
    var diffH = Math.floor((diff % 86400000) / 3600000);            // 시간
    var diffM = Math.floor(((diff % 86400000) % 3600000) / 60000);  // 분
    var diffS = Math.floor(diff / 1000 % 60);                       // 초

    if (Math.sign(diff) === -1) { // 음수 check
        return '퇴근시간이 지났어요...'
    } else {
        return '퇴근시간까지: ' + [diffH < 10 ? '0' + diffH : diffH, diffM < 10 ? '0' + diffM : diffM, diffS < 10 ? '0' + diffS : diffS].join(':') + '남음 ;;'
    }
}

function solution(n) {
    var nowDate = new Date();
    var exitDate = new Date(); // 17:30:00

    var input_arr = n.split(':');

    exitDate.setHours(input_arr[0]);
    exitDate.setMinutes(input_arr[1]);
    exitDate.setSeconds(input_arr[2]);

    console.log(diff(nowDate, exitDate))
}

solution('17:00:00'); // 퇴근 시간

2019/03/26 14:33

이계민

julia

import Dates: Time,now
print(Time(Time(17,30) - Time(now())))

2019/04/06 07:18

Creator

import java.util.Scanner;
public class GoToHome {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a, b;
        Scanner scan = new Scanner(System.in);
        System.out.print("현재 시간을 입력하시오 > "); //스페이스로 시와 분 구별
        a = scan.nextInt();
        b = scan.nextInt();
        int c = 60-b+30;
        int d = 17-a;
        if(c>=60) {
            System.out.println("퇴근까지 남은 시간 > "+d+"시간"+(c-60)+"분");
        }else {
            System.out.println("퇴근까지 남은 시간 > "+d+"시간"+c+"분");
        }
    }

}

2019/05/11 16:24

박지윤

import datetime

def leftTime(t):
    endTime = t.replace(hour=17, minute=30, second=00)
    leftT = endTime - t
    print('남은시간 {}'.format(leftT))

time = datetime.datetime.now()
leftTime(time)

2019/06/07 12:09

Hwaseong Nam

import java.util.*;
public class runoffcal {
    static class cal{
        public void dd(int a,int b,int c) {
            int h=a,m=b,s=c;
            if ((29 - m) < 0) {
                h = 16 - h;
                m = 60 + (29 - m);
                s = 60 - s;
            }
            else {
                h = 17 - h;
                m = 29 - m;
                s = 60 - s;
            }
            System.out.println("퇴근까지 남은 시간은 "+h+"시간"+m+"분"+s+"초입니다.");
        }
    }
    public static void main(String[] args)
    {
        System.out.println("현재시간을 입력하세요.");
        System.out.println("1.자동입력");
        System.out.println("2.수동입력");
        Scanner a= new Scanner(System.in);
        int b= a.nextInt();
        Calendar cal=new GregorianCalendar();
        int h,m,s;
        cal cal1=new cal();
        if(b==1)
        {
            h=cal.get(Calendar.HOUR_OF_DAY);
            m=cal.get(Calendar.MINUTE);
            s=cal.get(Calendar.SECOND);
            System.out.println("현재시각은 "+h+"시 "+m+"분 "+s+"초입니다.");
            cal1.dd(h,m,s);
        }
        else if(b==2)
        {
            System.out.println("현재시간을 입력해주세요(시간,분,초)");
            System.out.print("시간:");
            h=a.nextInt();
            System.out.print("분:");
            m=a.nextInt();
            System.out.print("초:");
            s=a.nextInt();
            cal1.dd(h,m,s);
        }
        else
            System.out.println("잘못된 입력입니다.");
    }
}

JAVA사용

시간을 자동입력하는것과 수동입력방식2가지로 만들어봤어요..! JAVA공부한지 몇일되지않아서 부족한 실력이니 최대한 고칠부분같은거 있으면 알려주세요!!

2019/06/29 04:11

Lanok

now = [int(x) for x in input('현재시간 : ').split(':')]
end = [17, 30, 0]; output = []
for i in range(3) : output.append(end[i] - now[i])
if output[2] < 0 :
    output[2] += 60
    output[1] -= 1
if output[1] < 0 :
    output[1] += 60
    output[0] -= 1
print('남은시간 : {:02d}:{:02d}:{:02d}'.format(output[0], output[1], output[2]))

2019/07/04 16:55

조현우

to_sec = lambda h, m, s: h * 3600 + m * 60 + s
from_sec = lambda s: (s // 3600, (s % 3600) // 60, (s % 60))

h, m, s = map(int, input('hh:mm:ss=').split(':'))
print("%02d:%02d:%02d" % from_sec(to_sec(17, 30, 0) - to_sec(h, m, s)))

2019/07/05 10:24

Noname

# 현재 시간을 리스트로 받음
# [14,33,23] -> 14시 33분 23초
def solution(time):
    a = [17,30,00]; result = []
    for i in range(2,-1,-1):
        if a[i] - time[i] < 0:
            result.append(a[i] + 60 - time[i])
            a[i-1] -= 1
        else:
            result.append(a[i] - time[i])
    return "남은시간은 " + str(result[2]) + "시" + str(result[1]) + "분" + str(result[0]) + "초"

print(solution([14,33,23]))

2019/07/11 17:41

최은미

hour=int(input("시간: "))
min=int(input("분: "))
second=int(input("초: "))
go_home=17*3600 + 30*60
current=hour*3600 + min*60 + second
go_home=go_home-current
print("남은 시간: %d s" %go_home)
print("남은 시간: %d:%d:%d" %(go_home//3600,(go_home%3600)/60,((go_home%3600)%60)))

2019/08/08 23:26

박재욱

time = list((map(int, input().split(':'))))
if time[1]<30: m = 30-time[1]; h = 17-time[0]
else: m = 60-time[1] + 30; h = 17-time[0]-1
if h>=10 and m>=10: print("{}:{}".format(h, m))
elif h>=10 and m<10: print("{}:0{}".format(h, m))
elif h<10 and m>=10: print("0{}:{}".format(h, m))
else: print("0{}:0{}".format(h, m))

2019/09/07 13:53

이명운

from datetime import datetime, timedelta, time, date

def offWork():
    nowTime = datetime.now()
    off_work_time = datetime.strptime('17:30:00','%H:%M:%S')
    off_work_time = datetime.time(off_work_time)
    off_work_date = datetime.date(nowTime)
    offWork = datetime.combine(off_work_date,off_work_time)
    #퇴근 시간을 만듬
    remaningTime = offWork - nowTime
    if offWork < nowTime:
        print("퇴근 시간이 지났어요. 퇴근하세요 이 새끼야")
    else:
        #퇴근 시간 - 현재시간
        print("남은 시간 : ",str(remaningTime)[:-7])
        print(remaningTime.seconds, " 초 남았다. 이 새끼야")
        #시:분:초 랑 초 만 각각 print

퇴근시간 이후에 스크립트를 실행할 경우 발생하는 게 없어서 추가했어요.

2019/09/25 17:20

권혁준

import datetime
now = datetime.datetime.now()
if now.minute <= 30:
    print("남은 시간: {}시간 {}분".format(17 - now.hour, 30 - now.minute))
else:
    print("남은 시간: {}시간 {}분".format(16 - now.hour, 90 - now.minute))

2019/10/16 22:17

jkb7350

def Time_to_Sec(data):
    Time_list = list(map(int,data.split(":")))
    Time_S = Time_list[0]*3600 + Time_list[1]*60 + Time_list[2]
    return Time_S

def Sec_to_Time(data):
    (h,tmp) = divmod(data,3600)
    (m,s) = divmod(tmp,60)
    return h,m,s

Time = input("시간 입력 (hh:mm:ss)==> ")
Input_Time = Time_to_Sec(Time)
Base_Time =Time_to_Sec("17:30:00")
Remain_Time = Base_Time - Input_Time  
hh,mm,ss = Sec_to_Time(Remain_Time)
print("남은 시간은 {}:{}:{}".format(hh,mm,ss))

2019/10/16 23:09

semipooh

import java.util.Arrays;
import java.util.Scanner;
public class 남은퇴근시간계산기 {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        String[] time = scan.nextLine().split(":");
        int[] time1 = Arrays.stream(time).mapToInt(Integer::parseInt).toArray();
        int 남은시간 = 63000-(time1[0]*60*60+time1[1]*60+time1[2]);
        int[] arr = new int[3];
        for(int i=arr.length-1; i>0; i--) {
            arr[i]=남은시간%60;
            남은시간=남은시간/60;
        }
        arr[0]=남은시간;
        System.out.println("남은시간 : "+arr[0]+":"+arr[1]+":"+arr[2]);
    }
    }

2019/11/13 21:13

big Ko

파이썬

import datetime as dtt

c_time = dtt.datetime.now()
l_time = c_time.replace(hour=17, minute=30, second=0)
dif_sec = (l_time - c_time).total_seconds()
dif_sec = dif_sec + 60 * 60 * 24 if dif_sec < 0 else dif_sec
print(f"남은 시간 {dtt.timedelta(seconds=dif_sec)}({dif_sec:,.0f}초)")

또 배우고 가네요.

2019/12/19 17:34

data big

#include <Turboc.h>
#include <Time.h>
double LeftTimeCalculator(void)
{
time_t timenow;
struct tm *now;
timenow = time(NULL);
now = localtime(&timenow);

struct tm *finish;
finish->tm_hour =17, finish->tm_min=30;

struct tm *LefttoFinish;
LefttoFinish->tm_hour = now->tm_hour-finish->tm_hour;
LefttoFinish->tm_min = now->tm_min-finish->tm_min;
return LefttoFinish;
}

2019/12/26 19:47

Anderson

hh, mm, ss=map(int,input("현재시간(hh:mm:ss)을 입력하십시오: ").split(":"))
rt=(17*3600)+(30*60) #퇴근 시간을 초로 계산 63000
ct=(hh*3600)+(mm*60)+(ss)
remain=rt-ct
if remain<=0:
    print("퇴근해야합니다.")
rh=remain//3600
rm=(remain-rh*3600)//60
rs=remain-rh*3600-rm*60
print("퇴근까지 남은 시간은", str(rh)+"시간", str(rm)+"분", str(rs)+"초입니다." )

2019/12/30 17:21

박시원

파이썬 3입니다.

예쁘게 꾸며보려고 했는데 제 센스로는 쉽지가 않군요;

time = input()  # hh:mm:ss 꼴

remain = 3600 * (17 - int(time[0:2])) + 60 * (30 - int(time[3:5])) - int(time[6:8])

print('##### 퇴근까지 총 {: 4d}초 남았습니다 ##### \n#####   {:02d}:{:02d}:{:02d}   만큼 남았습니다!! #####'.format(remain, remain // 3600, remain % 3600 // 60, remain % 60))

2020/01/24 23:44

우재용

import datetime as dt

now = dt.datetime.today()

print(now)

dc_time = now.replace(hour=17,minute=30,second=0)

print(dc_time)

print((now-dc_time).seconds)

2020/02/10 01:57

HyukHoon Kim

심화버전

present = input('현재시간(hh:mm:ss 형태)) time = present.split(':') hour = int(time[0]) minute = int(time[1]) second = int(time[2]) left_hour = 17 - hour left_min = 30 - minute left_sec = 60 - second left = left_hour + ":" left_min + ":" + left_sec

2020/02/18 23:48

PythonLover&Master_JK73

#lefttime.py
h,m,s= list(map(int,input("현재시간:").split(':')))

ctime = h*3600 + m*60 +s

ltime = (17*3600+30*60)-ctime

lh = ltime//3600
lm = (ltime-lh*3600)//60
ls= ltime-(lh*3600)-(lm*60)
print(f'남은시간 {lh}:{lm}:{ls}')

2020/02/28 17:18

황예진

import time as t
def times(t1, t2):
    res=[int(t2[i])-int(t1[i]) for i in range(3)]
    if res[2]<0:
        res[2]+=60
        res[1]-=1
    if res[1]<0:
        res[1]+=60
        res[0]-=1
    if res[0]<0:
        res[0]+=24
    return ':'.join(list(map(lambda a: str(a), res)))
data=t.strftime('%X', t.localtime(t.time()))
chti='17:30:00'
print(times(data.split(':'), chti.split(':')))

퇴근하자마자 출근하는 것이라 가정하고 퇴근까지 남은 시간을 계산합니다.

2020/03/10 12:49

Caplexian _

from datetime import datetime


def cal_closing_time(time):
    result = "남은시간: {0}:{1}:{2}"

    hours = 17 - int(current_time[11:13])
    minutes = 30 - int(current_time[14:16])
    if minutes < 0:
        hours -= 1
        minutes += 60
    seconds = 60 - int(current_time[17:19])

    return result.format(hours, minutes, seconds)


if __name__ == "__main__":
    current_time = str(datetime.now())
    print(cal_closing_time(current_time))

2020/03/30 16:49

inca1735

def sec(time):
    time=time.split(':')
    return (3600*int(time[0])+60*int(time[1])+int(time[2]))

print (sec('17:30:00')-sec(str(input('현재 시간를 입력해 주세요 (hh:mm:ss)......'))),'초 놀 수 있습니다')

2020/04/06 10:32

Buckshot

<결과> 현재 시간를 입력해 주세요 (hh:mm:ss)......16:00:00 5400 초 놀 수 있습니다 현재 시간를 입력해 주세요 (hh:mm:ss)......09:00:00 30600 초 놀 수 있습니다 - Buckshot, 2020/04/06 10:33
# hour = a and minute = b
def exit_time(a,b):
    a = 17 - a
    if b <= 30:
        b = 30 - b
    elif b > 30:
        b = 60 - b
        a = a - 1
    print('The remain time is', a, 'hours', b, 'minutes.')
exit_time(,)

2020/04/13 23:59

B and V Before

파이썬으로 작성했습니다.

from datetime import datetime
current=datetime.now()
leave=current.replace(hour=17,minute=30,second=0)
remaining_time=leave-current
print("남은 시간은 %s 입니다."% remaining_time)

2020/04/15 23:52

Dongsuk Kim

cur_time=input("현재 시간 입력(hh:mm:ss) : ").split(":")
bye_second=17*60*60+30*60
cur_second=int(cur_time[0])*60*60+int(cur_time[1])*60+int(cur_time[2])
dif_second=bye_second-cur_second
hour=dif_second//3600
dif_second-=hour*3600
min=dif_second//60
dif_second-=min*60
print("남은 시간 : {}:{}:{}".format(hour,min,dif_second))

2020/04/22 22:51

kim center

파이썬입니다.

from datetime import datetime as dt

now = dt.now()
leave = now.replace(hour=17, minute=30, second=0)
remain = leave-now
if remain.days < 0:
    print("집에 안가고 뭐해?")
else:
    print(f"퇴근까지 {remain}")

2020/05/07 18:17

peca lee

import datetime
go = input()
now = input()
gotime = datetime.datetime.strptime(go, '%H:%M:%S')
nowtime = datetime.datetime.strptime(now, '%H:%M:%S')
timetillend = gotime - nowtime
result = str(timetillend)
print("%s 남았습니다"%result)

2020/05/09 19:04

Money_Coding

Python 3.8

h, m, s = map(int, input("\n현재시각 : ").split(':'))

h = 17 - h
m = 30 - m

if(m < 0):
    h = h - 1
    m = 60 + m
elif(s > 0):
    m  = m - 1
    s = 60 - s
else:
    pass

print("남은시간 :", end = "")

print(" {0:0>2}".format(h), end = "")
print(":{0:0>2}".format(m), end = "")
print(":{0:0>2}".format(s))

print("\n")

2020/06/14 11:57

Blueone

N = list(map(int,input("hh:mm:ss 형식으로 입력해주세요. ").split(":")))
N.reverse()
M = [00,30,17]
final = []
check = ""
for i in range(3):
    if N[i] <= M[i]:
        if len(str(M[i]-N[i])) == 2:
            final.append(str(M[i] - N[i]))
        else:
            loop = ""
            for j in range(2-len(str(M[i]-N[i]))):
                loop += "0"
            final.append(loop+str(M[i]-N[i]))
    elif N[i] > M[i]:
        if len(str((M[i]+60)-N[i])) == 2:
            final.append(str((M[i]+60)-N[i]))
        else:
            loop = ""
            for j in range(2-str((M[i]+60)-N[i])):
                loop += "0"
            final.append(loop+str((M[i]+60)-N[i]))
        M[i+1] -= 1
final.reverse()
finalstr = ":".join(final)
print("남은 시간(hh:mm:ss) : ",finalstr)
print("남은 시간(s) : ",(int(final[0])*60 + int(final[1]))*60+int(final[2]))

2020/08/15 20:21

BlakeLee

public static void main(String[] args) throws ParseException {  

        SimpleDateFormat f = new SimpleDateFormat("HH:mm:ss");
        Date time = new Date();

        String inputTime = f.format(time);

        Date d1 = f.parse("17:30:00");
        Date d2 = f.parse(inputTime);   

        int diff = (int)(d1.getTime() - d2.getTime())/1000;
        int hour = (int) (diff/Math.pow(60, 2));
        int min = (int) ((diff%Math.pow(60, 2))/60);
        int sec = diff%60;

        if(diff<0) {            
            System.out.printf("-%d:%d:%d", -hour, -min, -sec);
        }else {
            System.out.printf("%d:%d:%d", hour, min, sec);
        }

    }   

2020/10/07 19:00

B A

h,m,s=map(int,input('hour:minute:second').split(':'))
l_h=17; l_m=30; l_s=0
if l_s-s<0:
    l_m-=1
    l_s+=60
elif l_m-m<0:
    l_h-=1
    l_m+=60
remain_h,remain_m,remain_s=l_h-h, l_m-m, l_s-s
print('남은시간: {:02}:{:02}:{:02}'.format(remain_h,remain_m,remain_s))

2020/10/16 10:10

AppleFarmer

import datetime

class timeCalculator:
    def __init__(self):
        self.year = 999
        self.month = 999
        self.day = 999
        self.cur = ""
        self.end = ""
        self.delta = 0
    def getCurrentDate(self):
        a = datetime.date.today()
        self.year = a.year
        self.month = a.month
        self.day = a.day
    def getCurrentUTC(self):
        self.cur = datetime.datetime.now()
    def getEndingUTC(self):
        self.end = datetime.datetime(self.year,self.month,self.day,17,30,0)
    def getRemaining(self):
        self.delta = (self.end-self.cur)
        print(self.delta)

a = timeCalculator()
a.getCurrentDate()
a.getCurrentUTC()
a.getEndingUTC()
a.getRemaining()

2020/11/13 13:56

footsize

t = input("현재 시간 - ").split(':')
total = int(t[0]) * 3600 + int(t[1]) * 60 + int(t[2])
leaveTime = 17 * 3600 + 30 * 60 + 0
temp = leaveTime - total
print("남은 시간 - "+str(temp // 3600).zfill(2) + ":" + str(temp % 3600 // 60).zfill(2) + ":" + str(temp % 3600 % 60).zfill(2) + " (" + str(temp) + "초)")

2020/11/20 20:56

김우석

def cal(time):
    dtime = [17,30,00]
    time_1 = time.split(":")
    remain_time = []
    for i in range(len(time_1)):
        remain_time.append(dtime[i]-int(time_1[i]))

    for j in range(len(remain_time)):
        if remain_time[j] < 0 :
            remain_time[j-1] = remain_time[j-1] -1
            remain_time[j] = 60 + remain_time[j]

    return remain_time

time = input("time? hh:mm:ss ")
print("REMAIN TIME IS {:02d}:{:02d}:{:02d}".format(cal(time)[0],cal(time)[1],cal(time)[2]))

2020/11/25 10:45

DSHIN

def remain_time():

  now=input("time of now?")

  time_of_now=now.split(":")

  of_now=int(time_of_now[0])*60*60+int(time_of_now[1])*60+int(time_of_now[2])

  go_home=63000

  remain=go_home-of_now

  time=remain//3600

  formin=remain%3600

  min=formin//60

  forsec=formin%60

  sec=forsec

  print("remain time = {0}:{1}:{2} ".format(time,min,sec))

remain_time()

2020/12/09 17:55

전준혁

import time
ntime = time.localtime(time.time())
result=[0, 0, 0]
ew = [17, 30]
print("현재시간: %d시 %d분 %d초" %(ntime.tm_hour, ntime.tm_min, ntime.tm_sec))
if(ntime.tm_hour == ew[0] and ntime.tm_min == ew[1]):
    if(ntime.tm_sec == 0): print("퇴근입니다.")
    else:
        print("초과근무 입니까? (yes/no):", end = "")
        n = input()
        if(n == 'yes'):
            if(ntime.tm_min < 30):
                hresult = ntime.tm_hour - ew[0] -1
                mresult = ntime.tm_min - ew[1]
            else:
                hresult = ntime.tm_hour - ew[0]
                mresult = ntime.tm_min - ew[1]
                if(mresult == 60): mresult = 0
            print("초과근무: %d시 %d분 %d초" %(hresult, mresult, ntime.tm_sec))    
        else: print("퇴근시간이 지났습니다. 퇴근하십시오.")    
else:    
    if(ntime.tm_min > 30):
        hresult = ew[0] - ntime.tm_hour - 1
        mresult =60 - ntime.tm_min +30 -1
    else:
        hresult = ew[0] - ntime.tm_hour
        mresult =ew[1] - ntime.tm_min -1
    sresult = 60 - ntime.tm_sec
    if(sresult == 0): sresult = 0
    print("남은시간: %d시 %d분 %d초" %(hresult, mresult, sresult))

2020/12/24 16:34

guma go

def time():
    import time
    from functools import reduce
    off ='17:30:00'
    now = time.strftime('%H:%M:%S',time.localtime(time.time()))
    result = [int(a)-int(b) for a,b in zip(off.split(':'),now.split(':'))]
    for i in range(1,3):
        if result[i]<0:
            result[i-1] -=1
            result[i]+=60
    return reduce(lambda x,y:str(x)+':'+str(y),result)

2020/12/26 16:06

hankyu

import datetime

now = datetime.datetime.now()
exit = now.replace(hour=17,minute =30,second=0)
dif =exit-now
print('남은시간 : {}'.format(dif))

2021/01/19 14:26

손우민

timenow = map(int, input("현재 시간 입력(hh:mm:ss): ").split(":"))
timenow = list(timenow)
timenow_s = timenow[0]*3600 + timenow[1]*60 + timenow[2]
timeend = 17*3600 + 30+60

print(f"남은시간: {timeend - timenow_s}s")

2021/02/04 15:02

asdfa

res = "09:45:20".split(":") #현재시간 지정
res1 = "17:30:00".split(":")
result = []

if int("".join(res)) > int("".join(res1)):
    print("퇴근시간 지났습니다.")

else:
    for i in range(0,len(res)):
        if i == 0:
            if res1[i] > res[i]:
                result.append(int(res1[i]) - int(res[i]))

            else:
                result.append(int(res1[i]) - int(res[i]))

        else:
            if res[i] > res1[i]:
                result.append((60 - int(res[i]) + int(res1[i])))
                result[i - 1] = result[i - 1] - 1

            else:
                result.append(int(res1[i]) - int(res[i]))

    print(result[0])
    result = map(str,result)
    print(":".join(result) + " 남았습니다.")

2021/02/17 19:46

개촙오

x=input('시간 입력(hh:mm:ss)')

x=x.split(':')

rest=[]

hour=0
minute=0
second=0

second = 60 - int(x[2])

if second :
    minute = 30 - int(x[1])

if minute >= 0 :
    hour = 17 - int(x[0])
if minute < 0 :
    hour = 16 - int(x[0])
    minute = 60 - abs(minute)

print('퇴근까지 {}시간 {}분 {}초'.format(hour,minute,second))

2021/03/09 09:44

최우진

from datetime import datetime
now = datetime.today()
finish = now.replace(hour=17,minute=30,second=0)
difftime = finish - now

2021/05/19 14:27

ss2663

def 남은_시간_계산기():
    h = int(input('hh:mm:ss 중 \nH를 입력하라'))
    m = int(input('M을 입력하라'))
    s = int(input('S를 입력하라'))

    now_total = 3600*h + 60*m + s
    run_out = 3600*17 + 60*30
    time_left = -now_total+run_out

    nu_s = time_left%60
    nu_m = (time_left)//60%60
    nu_h = ((time_left//60)//60)%60

    print(f'{nu_h}시간 {nu_m}분 {nu_s}초 남았습니다.')

2021/07/07 18:21

inkuk ju

def current_time(time):
    time_split = time.split(":")
    time_split[0] = str(17 - int(time_split[0]))
    if int(time_split[1]) >= 31:
        time_split[1] = str(60 - int(time_split[1]))
        time_split[0] = str(int(time_split[0]) - 1)
    else: 
        time_split[1] = str(int(30 - int(time_split[1])))
    if int(time_split[2]) > 0:
        time_split[2] = str(60 - int(time_split[2]))
        time_split[1] = str(int(time_split[1]) - 1)
    if int(time_split[0]) <= 9:
        time_split[0] = "0" + time_split[0]
    if int(time_split[1]) <= 9:
        time_split[1] = "0" + time_split[1]
    print("남은시간>>> {}:{}:{}".format(time_split[0],time_split[1],time_split[2]))

2021/07/13 17:28

billy han

#codingdojing_closingHour
#풀이참고

import datetime as dt

cur_time = dt.datetime.now()
closing_time = cur_time.replace(hour = 17, minute = 30, second = 0, microsecond = 0)

delta = (closing_time - cur_time).total_seconds() 

print("퇴근 시간이 지났습니다") if delta < 0 else print('퇴근시간까지', dt.timedelta(seconds = delta), '남았습니다.')

2021/07/14 18:07

Jaeman Lee

파이썬 3.8.10으로 작성했습니다.

from time import*

present = strftime('%X', localtime(time())).split(':')
happy_time = '17:29:60'.split(':')
output = []
if present[1] > happy_time[1]:
    output.append(eval(happy_time[0] + '-' + present[0] + '-1'))
    output.append(eval(happy_time[1] + '-' + present[1] + '+60'))
    output.append(eval(happy_time[2] + '-' + present[2]))
else:
    output.append(eval(happy_time[0] + '-' + present[0]))
    output.append(eval(happy_time[1] + '-' + present[1]))
    output.append(eval(happy_time[2] + '-' + present[2]))
print(f'{output[0]}:{output[1]}:{output[2]}')

2021/07/28 11:37

baek choi

import time

def compute_left_time(time_diff_second):
    ss = time_diff_second % 60  # 초를 60으로 나눈 나머지 = 초
    temp = time_diff_second // 60   # 초를 60으로 나는 몫 = 분
    mm = temp % 60    # 분을 60으로 나눈 나머지 = 분
    hh = temp // 60    # 분을 60으로 나눈 몫 = 시간
    return (hh, mm, ss)

def compute_time(h,m,s):
    current_time = 3600*h + 60*m + s
    get_off_time = 3600*17 + 60*30

    time_diff = get_off_time - current_time

    if(time_diff >= 0):
        hh, mm, ss = compute_left_time(time_diff)
        print(f'{hh}시간 {mm}분 {ss}초 남았습니다')
    else:
        time_diff = -time_diff
        hh, mm, ss = compute_left_time(time_diff)
        print(f'{hh}시간 {mm}분 {ss}초 지났습니다')

if __name__ == '__main__':
    t = time.localtime(time.time())
    hh = t.tm_hour
    mm = t.tm_min
    ss = t.tm_sec

    # print(compute_time(hh,mm,ss))
    compute_time(18,40,30)

2021/09/09 17:15

서현준

now=list(map(int,input('현재 시간 : ').split(':')))
result=[17,30,00]
if now[2]>0:
    result[1]=29
    result[2]=60-now[2]
if now[1]>result[1]:
    result[0]=16
    result[1]=60-now[1]+result[1]
elif now[1]<=result[1]:
    result[1]-=now[1]
result[0]-=now[0]

print('남은 시간 : %s or 남은 시간 : %s'%(':'.join(map(str,result)),3600*result[0]+60*result[1]+result[2]))

2021/09/19 15:46

ninanino

# 퇴근 시간 계산기 코드 

# 목표 : 현재시각을 기준으로 퇴근시간까지 남은 시간을 계산하라.
# 사용한 핵심 전략 : 문자열 인덱싱

# 1. 변수 입력
input="10:04:08"
offwork="17:30:00"

# 2. 변수 전처리
time1=int(input[0:2])*60*60
time2=int(input[3:5])*60
time3=int(input[6:8])

now_time=time1+time2+time3

off_time1=int(offwork[0:2])*60*60
off_time2=int(offwork[3:5])*60
off_time3=int(offwork[6:8])

off_time=off_time1+off_time2+off_time3

# 3. 퇴근 시간 계산 코드
remain=off_time-now_time

hour=remain//3600
minute=(remain-hour*3600)//60
second=remain-(hour*3600)-(minute*60)

# 4. 출력 
print(f"퇴근까지 남은 시간 : {hour}시간 {minute}분 {second}초")

2021/10/05 12:44

이성재

static void remainingTime() {
        Date today = new Date();
        Date finish1 = null;
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat day1 = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat day2 = new SimpleDateFormat("HH:mm:ss");
        String finish = day1.format(today) + " 17:30:00";
        try { // try 안씌어주면 에러남.
            finish1 = format.parse(finish);
        } catch (ParseException e) {
            ;
        }
        long b = finish1.getTime() - System.currentTimeMillis() - (1000*60*60*9);
        String str = "오늘";
        if (b < 0) {
            b = finish1.getTime() + (1000*60*60*24) - System.currentTimeMillis() - (1000*60*60*9);
             str = "내일";
        }
        System.out.println(str + " 퇴근까지 남은 시간 " + day2.format(b));

    }

    public static void main(String[] args) {
        remainingTime();
    }

2021/10/24 18:05

박대현

from datetime import datetime
a = datetime.now()
b = a.replace(hour=17,minute=30,second=0)
c = b-a
d = (b-a).total_seconds()
if d == 0:
    print('퇴근 시간 입니다')
elif d < 0:
    print('퇴근 시간이 지났읍니다')
else:
    print(f'퇴근 시간이 {c} 남았읍니다')

2021/10/28 15:59

한고선


hour = int(input("현재시간(hour) :"))
min = int(input("현재시간(min) :"))
sec = int(input("현재시간(sec) :"))

dest_sec = 17*3600+30*60

def solution (a,b,c) :
    remain_time = 0
    sum_sec = a*3600+b*60+c
    remain_time = dest_sec - sum_sec
    hour = remain_time//3600
    min = (remain_time%3600)//60
    sec = (remain_time%3600)%60

    return print("남은시간 :",hour,":",min,":",sec)


solution(hour,min,sec)

2021/12/18 02:18

양캠부부

시간 관련 함수는 사용하지 않았습니다. python 3.10.1(글 작성일 기준 최신 버전)입니다.

cur = [int(time) for time in input('현재 시간 입력: ').split(':')]
cur_s = cur[0] * 3600 + cur[1] * 60 + cur[2]
end_s = 63000
left_s = end_s - cur_s + 86400*(cur_s > end_s)
left = [left_s // 3600,
    (left_s%3600) // 60,
    (left_s%3600) % 60]
print(f'오늘(내일) 퇴근까지 남은 시간: {left[0]}:{left[1]}:{left[2]}')

실행 결과입니다.

현재 시간 입력: 12:25:30
오늘(내일) 퇴근까지 남은 시간: 5:4:30
현재 시간 입력: 17:35:00
오늘(내일) 퇴근까지 남은 시간: 23:55:0

2021/12/20 17:41

이준우

from datetime import datetime

t1 = input('현재 시간을 입력하세요. HH:MM:SS')
t2 = '17:30:00'
FMT = '%H:%M:%S'

T1 = datetime.strptime(t1, FMT)
T2 = datetime.strptime(t2, FMT)

print(T2-T1)

2022/01/26 10:01

로만가

from datetime import datetime
print(datetime.strptime('17:30:00', FMT)-T1)

2022/01/26 10:08

로만가

index = { 'hour' : 0, 'min' : 1, 'second' : 2 }
target_time = [17, 30, 0]
present_time = list(map(int, input("hh:mm:ss로 현재 시간 입력=").split(":")))
remaining_time = list()
max_num = 60

for i in range(0, 3):
    remain = target_time[i] - present_time[i]
    remaining_time.append(remain)

if remaining_time[index['second']] < 0:
    remaining_time[index['second']] = max_num + remaining_time[index['second']]
    remaining_time[index['min']] = remaining_time[index['min']] - 1

    if remaining_time[index['min']] <= 0:
        remaining_time[index['min']] = max_num + remaining_time[index['min']]
        remaining_time[index['hour']] = remaining_time[index['hour']] - 1

elif remaining_time[index['min']] < 0:
    remaining_time[index['min']] = remaining_time[index['min']] + max_num
    remaining_time[index['hour']] = remaining_time[index['hour']] - 1

print("남은 시간은 {}:{}:{}" .format(remaining_time[index['hour']], remaining_time[index['min']], remaining_time[index['second']]))

2022/05/18 17:25

seolgyung jeong

current = input("HH:MM:SS : ")
off_hour = 17
off_minute = 30
off_second = 0

c_hour, c_minute, c_second = current.split(":")

left_hour = off_hour - int(c_hour)
left_minute = off_minute - int(c_minute)
left_second = off_second - int(c_second)

if left_second < 0 :
    left_second += 60
    left_minute -= 1

if left_minute < 0 :
    left_minute += 60
    left_hour -= 1



left_time = [str(left_hour), str(left_minute), str(left_second)]
result_time = ":".join(left_time)

print("현재 시간 : {0}".format(current))
print("남은 시간 : {0}".format(result_time))

2022/11/15 15:46

ㅇㅇ

python

import datetime

now = datetime.datetime.now() #현재 날짜+시간
now_date = str(datetime.datetime.now().date()) #현재 날짜
leave = datetime.datetime.strptime(now_date+" 17:30", "%Y-%m-%d %H:%M") #현재 날짜+퇴근 시간
print("남은 시간: ", leave-now)

2023/02/13 13:35

세라

presentTime = dt.datetime.now()
min = 30 - presentTime.minute
if presentTime.second > 0:
    min -= 1
print(f"{17 - presentTime.hour + (0, -1)[min < 0]}:"
      f"{min + (0, 60)[min < 0]}:{(0, 60 - presentTime.minute)[presentTime.second > 0]}")

2023/08/17 14:05

insperChoi

목록으로