현우는 성인이되어 회사에입사했다.
하지만 들어간기업이 하필 할일없는 중소기업이라
퇴근시간까지 놀다가 퇴근시간에 퇴근하는것이 일상화가되어버렸다..
현우는 심심한지라 좀더효율적으로놀기위해
현재부터 퇴근시간까지 남은시간을 알려주는 계산기를 만들어
계산적으로놀고싶었다 우리가현우를 도와주자!!
(참고로 현우의퇴근시간은 17시30분이다)
input: 현재시간
output: 남은시간 : hh:mm:ss
or
남은시간 : s
심화버젼 : 이쁘게꾸며보자!
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}초) 남았습니다.")
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);
}
}
}
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))
중소기업 이라지만은 꽤 일찍 퇴근하는군요. 그나저나 키보드 자판이 낡고 작아서 숫자를 누르면 문자까지 같이 눌리는 회사인데, 현우는 업무시간에 놀지 말고 포트폴리오라도 만들어서 하루 빨리 최신 키보드 자판을 제공하여 주는 기업으로 이직 할 수있으면 좋겠읍니다~.^^
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}");
}
}
}
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()
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+'초 남았습니다')
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)
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)
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)
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)
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)
비쥬얼 스튜디오에서 작성했습니다.
#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);
}
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}초"
#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;
}
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)
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))
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'); // 퇴근 시간
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+"분");
}
}
}
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)
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공부한지 몇일되지않아서 부족한 실력이니 최대한 고칠부분같은거 있으면 알려주세요!!
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]))
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)))
# 현재 시간을 리스트로 받음
# [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]))
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)))
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))
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
퇴근시간 이후에 스크립트를 실행할 경우 발생하는 게 없어서 추가했어요.
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))
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))
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]);
}
}
파이썬
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}초)")
또 배우고 가네요.
#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;
}
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)+"초입니다." )
파이썬 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))
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)
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
#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}')
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(':')))
퇴근하자마자 출근하는 것이라 가정하고 퇴근까지 남은 시간을 계산합니다.
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))
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)......'))),'초 놀 수 있습니다')
# 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(,)
파이썬으로 작성했습니다.
from datetime import datetime
current=datetime.now()
leave=current.replace(hour=17,minute=30,second=0)
remaining_time=leave-current
print("남은 시간은 %s 입니다."% remaining_time)
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))
파이썬입니다.
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}")
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)
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")
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]))
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);
}
}
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))
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()
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) + "초)")
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]))
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()
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))
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)
import datetime
now = datetime.datetime.now()
exit = now.replace(hour=17,minute =30,second=0)
dif =exit-now
print('남은시간 : {}'.format(dif))
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")
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) + " 남았습니다.")
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))
from datetime import datetime
now = datetime.today()
finish = now.replace(hour=17,minute=30,second=0)
difftime = finish - now
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}초 남았습니다.')
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]))
#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), '남았습니다.')
파이썬 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]}')
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)
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]))
# 퇴근 시간 계산기 코드
# 목표 : 현재시각을 기준으로 퇴근시간까지 남은 시간을 계산하라.
# 사용한 핵심 전략 : 문자열 인덱싱
# 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}초")
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();
}
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} 남았읍니다')
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)
시간 관련 함수는 사용하지 않았습니다. 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
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)
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']]))
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))