나는 누군가가 10 억 초가되었을 때 알아 내려고하고있다. 사용자는 그들이 태어 났을 때를 입력한다. 그런 다음이 값을 초로 변환 한 다음 10 억 초를 더하고 날짜로 변환합니다. 그러나 특정 날짜를 입력하면 파이썬이 엉망으로 보인다. 이러한 예제는 1993/11/05 00:00:00입니다. 파이썬에서는 사용자가 0 번째 달에 들어올 것이라고 말합니다. 참고/if 또는 else 또는 datetime을 사용할 수 없습니다.간단한 파이썬 날짜 계산에 관해서
Heres는 내 코드 :
YEARSEC=(12*30*24*3600)
MONTHSEC=(3600*24*30)
DAYSEC=(24*3600)
HOURSEC=3600
MINUTESEC=60
year=int(input("Please enter the year in which you were born: "))
month=int(input("Please enter the month you were born: "))
day=int(input("Please enter the day you were born: "))
hour=int(input("Please enter the hour you were born: "))
minute=int(input("Please enter the minute you were born: "))
second=int(input("Please enter the second you were born: "))
year_calc=(year*YEARSEC)
month_calc=(month*MONTHSEC)
day_calc=(day*DAYSEC)
hour_calc=(hour*HOURSEC)
minute_calc=(minute*MINUTESEC)
s=(1000000000+year_calc+month_calc+day_calc+hour_calc+minute_calc+second)
year_num=int((s/YEARSEC))
s=(s-(year_num*YEARSEC))
month_num=int((s/MONTHSEC))
s=(s-(month_num*MONTHSEC))
day_num=int((s/DAYSEC))
s=(s-(DAYSEC*day_num))
hour_num=int((s/HOURSEC))
s=(s-(HOURSEC*hour_num))
minute_num=int((s/MINUTESEC))
s=(s-(MINUTESEC*minute_num))
print("You will turn 1 000 000 000 seconds old on: %04d/%02d/%02d %02d:%02d:%02d" %(year_num,month_num,day_num,hour_num,minute_num,s))
이렇게에서 제대로 datetime'이 될 것입니다'없는 원인의 월, 일을 시작
day_num
및month_num
추악한 엉망 ... 왜 당신이 그것을 사용할 수 없다고합니까? –아마도 그의 숙제 임) – Dan