본문 바로가기
Python/점프 투 파이썬

[06] 얼마나 시간이 경과됐을까?

by 가므자 2012. 4. 23.

예전에는 게시판 리스트에 작성일이 "2007 1 1" 처럼 항상 "년월일" 형식으로 보여 주었다.
하지만 요새 진보된 게시판 리스트에는 작성일에 이런식으로 표시해 준다.

1 2시간 전


또는

1시간 48분 전


사용자들 위주로 UI들이 변하고 있는것이다. 물론 파이썬에서도 위와 같은 기능을 구현할 수 있다.


다음의 함수를 보자.

 

import datetime

def elapsed_time(sdate):

    e = datetime.datetime.now()

    if not sdate or len(sdate) < 14: return 0,0,0,0

    s = datetime.datetime(int(sdate[:4]), int(sdate[4:6]), int(sdate[6:8]),

        int(sdate[8:10]), int(sdate[10:12]), int(sdate[12:14]))

    days = (e-s).days

    sec = (e-s).seconds

    hour, sec = divmod(sec, 3600)

    minute, sec = divmod(sec, 60)

    return days, hour, minute, sec

 

날짜를 입력으로 받아서 현재 날짜로부터 며칠, 몇시간, 몇분, 몇초가 지났는지를 리턴해 주는 함수이다.
이 프로그램의 핵심은 datetime객체의 "-"연산자이다.


이번에는 오늘로부터 일주일 전의 날짜를 계산하는 방법에 대해서 알아보자.

(datetime.datetime.now() - datetime.timedelta(7)).strftime("%Y%m%d")

datetime now()라는 메써드와 timedelta(일자) 메써드를 이용하여 1주일 전의 datetime값을 구한 후 YYYYMMDD형식으로 리턴하는 예제이다.


여러분이 만약 웹 프로그래밍을 하게 된다면 즐겨 사용하게 될 datetime모듈을 주의깊게 살펴보기로 하자.

 

출처 : wikidocs 점프 투 파이썬

'Python > 점프 투 파이썬' 카테고리의 다른 글

[05] 하위디렉토리 검색  (0) 2012.04.23
리스트  (0) 2012.04.23
[04] 12345라는 숫자를 12,345처럼 바꾸기  (0) 2012.04.23
[03] tab을 4개의 space로 바꾸기  (0) 2012.04.20
[02] 간단한 메모장  (0) 2012.04.20

댓글