2021년 10월 31일 일요일

Python datetime 예제 정리, 현재 시간 얻기, strftime, strptime 예제

 

현재시간을 구하거나 now 특정 시간 포맷으로 출력하는 strftime, 특정 시간 포맷을 읽어 들이는 strptime 예제입니다.

예제 중간에 %Y 년도 %m 월 %d 날짜 등의 표기는 https://docs.python.org/ko/3/library/datetime.html?highlight=now#strftime-and-strptime-format-codes 여기 링크가 있으니 참고 하시기 바랍니다.


import datetime

#현재 시각을 출력합니다.
nowtime = datetime.datetime.now()
print(type(nowtime))
print(str(nowtime))
print(nowtime)
'''
<class 'datetime.datetime'>
2021-10-31 21:56:33.981906
2021-10-31 21:56:33.981906
'''


# 포맷된 출력을 원하는 경우 strftime()
# https://docs.python.org/ko/3/library/datetime.html?highlight=now#strftime-and-strptime-format-codes
print(nowtime.strftime("%Y-%m-%d %H:%M:%S.%f"))
print(nowtime.strftime("%Y-%B-%d %A %H:%M:%S.%f"))
strtime = str(nowtime.strftime("%Y-%B-%d %A %H:%M:%S.%f"))
'''
2021-10-31 21:56:33.981906
2021-October-31 Sunday 21:56:33.981906
'''


# 시간 문자열을 읽으려면 strptime()
# https://docs.python.org/ko/3/library/datetime.html?highlight=now#strftime-and-strptime-format-codes
getdatetime1 = datetime.datetime.strptime("2021-01-02 20:21:11.981906","%Y-%m-%d %H:%M:%S.%f")
print(getdatetime1)
'''
2021-01-02 20:21:11.981906
'''

# 일부 값이 없다면 - 기본값이 들어갑니다. 초기값은 0년이 아니라 1900년이 됩니다.
getdatetime2 = datetime.datetime.strptime("01-02 20:21:11.981906","%m-%d %H:%M:%S.%f")
print(getdatetime2)
'''
1900-01-02 20:21:11.981906
'''

# 시간차 계산이 가능합니다.
tdelta = getdatetime1-getdatetime2
print(tdelta)
'''
44195 days, 0:00:00
'''

# 초로 표현해봅시다.
print(tdelta.total_seconds())
'''
3818448000.0
'''

# 년을 계산하려면 365로 나누어 줍니다.
# 1년이 정확히 365일이 아니기 때문에 나누어 떨어지지는 않습니다.
print(tdelta.days / 365)
'''
121.08219178082192
'''


결과

<class 'datetime.datetime'>
2021-10-31 22:09:57.010395
2021-10-31 22:09:57.010395
2021-10-31 22:09:57.010395
2021-October-31 Sunday 22:09:57.010395
2021-01-02 20:21:11.981906
1900-01-02 20:21:11.981906
44195 days, 0:00:00
3818448000.0
121.08219178082192

댓글 없음:

댓글 쓰기