파이썬 날짜와 시간 계산이 어렵다면? 애로우(arrow) 라이브러리를 써보자!

목차

    2019. 8. 22. 22:14

    프로그래밍 언어에서 날짜와 시간을 다루는 것은 은근히 까다롭다. 엑셀 같은 프로그램은 여러가지 날짜 계산이 함수로 되어 있어 쉽다. 파이썬에서도 날짜를 다루는 기본 기능들이 있지만, 자주 다루지 않고 숫자를 계산하는 방법과 다르기 때문에 좀 까다롭다.

    오늘은 파이썬 날짜와 시간 계산을 쉽게 할 수 있도록 도와주는 애로우(arrow) 라이브러리에 대해서 알아보도록 하겠다.


    파이썬_날짜_계산



    애로우(arrow) 라이브러리를 설치하기 위해서는 터미널에서 pip install arrow라고 입력하면 된다. 파이참의 경우 GUI프로그램을 이용해서 좀 더 쉽게 설치할 수 있다. 파이참에서 라이브러리를 설치하는 방법에 대해서는 아래 포스팅을 참조해보자.
    ( 참조: 파이참(pycharm)에서 라이브러리 쉽게 설치하는 방법! )


    애로우를 쉽게 사용하는 방법은 파이참과 같은 통합개발환경을 이용하는 것이다. 코드 자동완성기능을 이용하면 특정 함수들을 외우지 않아도 쉽게 쓸 수 있다.


    파이참_자동완성

    ( 파이참 자동완성 기능 )


    유용한 함수들을 하나씩 알아보자.


    1. 현재 날짜 시간 구하기

    1
    2
    3
    arrow.now()
     
    [결과]: <Arrow [2019-08-22T21:36:12.189271+09:00]>
    cs


    2. 미국 날짜 시간 구하기

    1
    2
    3
    arrow.now('US/Pacific')
     
    [결과]: <Arrow [2019-08-22T05:36:45.532058-07:00]>
    cs


    3. 날짜 계산하기 

    애로우(arrow) 모듈의 가장 편리한 부분이 아닌가 싶다. shift함수를 이용해서 쉽게 날짜와 시간을 변경할 수 있다.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    today = arrow.now()
     
     
     
    today.shift(years=+1)
     
    today.shift(months=-1)
     
    today.shift(days=-1)
     
     
     
    today.shift(hours=+1)
     
    today.shift(seconds=+1)
    cs


    4. 특정 날짜 시간으로 바꾸기

    shift와 방법은 동일하고, 함수만 replace를 사용하면 된다. 파라미터에 s는 빼야 된다. 예를 들어 years라고 입력하면 안 되고 year라고 입력해야 된다.

    1
    today.replace(year=2016)
    cs


    5. 특정 날짜 지정하기

    1
    arrow.get(201911)
    cs


    6. 날짜만 가져오기

    date()함수를 이용하면 날짜만 가져올 수 있다. 데이터 타입은 datetime으로 추출된다.

    1
    arrow.now().date()
    cs


    7. 요일 뽑기

    월요일~일요일에 해당하는 요일을 0~6까지 숫자로 반환해준다. 월요일이면 0, 일요일이면 6을 반환해준다.

    1
    2
    3
    today.weekday()
     
    [결과]: 3
    cs



    이 외에도 날짜와 시간을 다루기 위한 다양한 기능들이 있다. 더 자세한 내용은 아래 애로우(arrow) 페이지를 참조하기 바란다.
    ( 참조: https://arrow.readthedocs.io/en/latest/ )


    오늘은 이렇게 애로우(arrow) 라이브러리를 이용해서 날짜와 숫자를 다루는 방법에 대해서 알아보았다. 자동완성기능을 이용해서 쉽게 필요한 함수들을 찾을 수 있고, arrow모듈만 이용하면 되기 때무에 사용하기도 편리했다. 복잡한 날짜 계산에 한 줄기 단비가 내리는 듯 하다.


    몇 가지 팁이나 방법을 알면 파이썬을 더 효율적으로 코딩할 수 있는 방법들이 있다. 자세한 내용이 궁금하다면, 아래 링크를 참조해보자.
    ( 참조: 파이썬 효율적인 코딩팁과 방법들 )


    파이썬을 직접 활용하는 것만큼 효과적인 공부는 없다. 그래서 파이썬을 활용해서 할 수 있는 일드을 정리해보았다. 자세한 내용은 아래 포스팅을 참조해보자.
    ( 참조: 파이썬 활용, 파이썬 프로젝트로 할 수 있는 일들을 알아보자! )