본문 바로가기
코딩라이브러리/파이썬

[파이썬] 시간 함수 어떻게 쓰나 (with 백준 10699)

by 유니네 라이브러리 2024. 6. 5.

파이썬에서 시간함수는 time() 객체 또는 datatime() 객체 사용한다.

  • 내 프로그램의 작동시간은 얼마나 걸리는지 체크해 보고 싶다면 time() 객체 사용한다.
#내 프로그램의 작동시간을 재보자
import time
st = time.time() #시작시간

#프로그램 동작 소스. 여기서는 1초로 표현
time.sleep(1)

end = time.time() #종료시간
diff = end - st #시작과 종료의 차이 계산
print(f"프로그램 작동시간:{diff: .5f} sec") #소수점 5자리까지 표현
"""
프로그램 작동시간: 1.00107 sec
"""
  • 날짜 계산을 하기 위해서는 datetime() 객체를 사용한다.
#날짜 차이를 구해보자
import datetime as dt

#시작일부터 종료일까지 몇일 지났나
stdt = dt.date(2024, 5, 1) #시작일
eddt = dt.date.today() #오늘

diff = eddt - stdt
print(f"{diff.days}일 지남")
"""
35일 지남
"""
  • 오늘부터 특정일까지 지난날은 언제인지, 특정일 이전의 날은 언제인지는 datetime 의 timedelta 객체를 사용한다.
nowdate = dt.date.today() #오늘
diff = dt.timedelta(days=20) #20일 지난 날
print(f"오늘부터 {diff.days}일 지나면 {nowdate + diff} 이다.")
print(f"오늘부터 {diff.days}일 이전은 {nowdate - diff} 이다.")
"""
오늘부터 20일 지나면 2024-06-25 이다.
오늘부터 20일 이전은 2024-05-16 이다.
"""
  • timedelta 객체의 인자값들은 아래와 같다.
    days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0

▶ 날짜 연습 백준 문제 풀이

https://www.acmicpc.net/problem/10699

"""
서울의 오늘 날짜를 출력하는 프로그램을 작성하시오.
서울의 오늘 날짜를 "YYYY-MM-DD" 형식으로 출력한다.
"""
import datetime as dt
now = dt.datetime.now()
today = now.strftime('%Y-%m-%d')
print(today)
"""
2024-06-05
"""

 

☞ 파이썬 자습서 참고 사이트

https://docs.python.org/ko/3/library/datetime.html

 

datetime — Basic date and time types

Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...

docs.python.org