티스토리 뷰
1. 문자를 날짜와시간 형식으로 변경하기
문자열을 날짜와 시간 형식으로 바꿀때 datetime 또는 dateutil을 사용하여 변경할 수 있다.
# 04_00_PythonDateTime
import datetime
# 문자열을 날짜 형식으로
strpDateTime = datetime.datetime.strptime("2019-12-15 21:19:17-0000", "%Y-%m-%d %H:%M:%S%z")
print(strpDateTime) # 2019-12-15 21:19:17+00:00
dtDateTime = datetime.datetime(2019, 12, 15, 21, 19, 17)
print(dtDateTime) # 2019-12-15 21:19:17
import dateutil.parser
parserDateTime = dateutil.parser.parse("2019-12-15 21:19:17-0000")
print(parserDateTime) # 2019-12-15 21:19:17+00:00
2. 날짜의 계산
1) 날짜간의 차이 계산
날짜간의 차이 계산은 "-" 연산자를 사용해야 하며 계산하는 날짜의 타입은 <class 'datetime.datetime'> 이어야 하며, 계산한 차이값은 <class 'datetime.timedelta'> 타입으로 리턴한다.
각각의 날차를 년, 월, 일, 시간, 분, 초 단위로 계산할 수있으며 차이값은 <class 'int'> 타입으로 리턴한다.
2) 날짜의 더하기 또는 빼기
날짜의 가,감은 <class 'datetime.datetime'> 타입과 <class 'datetime.timedelta'> 타입을 "+" 또는 "-" 연산자를 사용하여 계산하며 결과값은 <class 'datetime.datetime'> 타입으로 리턴한다.
# 04_01_PythonComputingTime
from datetime import datetime, timedelta, timezone
# 날짜시간 사이의 차이 계산
TimeOne = datetime.now()
TimeTwo = datetime(2019, 12, 25)
TimeInterval = TimeOne - TimeTwo
# 타입확인
print(type(TimeOne))
print(type(TimeTwo))
print(type(TimeInterval))
# 날짜 간의 차이 계산
print(TimeOne)
print(TimeTwo)
print(TimeInterval)
print(TimeInterval.days)
print(TimeInterval.seconds)
print(TimeInterval.seconds/3600)
# 년, 월, 일, 시간, 분, 초 단위의 차이를 계산
print(TimeOne.year - TimeTwo.year)
print(TimeOne.month - TimeTwo.month)
print(TimeOne.day - TimeTwo.day)
print(TimeOne.hour - TimeTwo.hour)
print(TimeOne.minute - TimeTwo.minute)
print(TimeOne.second - TimeTwo.second)
print(type(TimeOne.year - TimeTwo.year))
# 날짜 더하기와 빼기
AddTime = TimeOne + timedelta(days=100)
SubtractTime = AddTime - timedelta(days=100)
print(TimeOne)
print(AddTime)
print(SubtractTime)
print(type(AddTime))
3. 날짜 시간 객체의 기본
날짜 시간 객체에서 가장 많이 사용되는 타입은 <class 'datetime.datetime'>, <class 'datetime.date'>, <class 'datetime.time'>, <class 'datetime.timedelta'> 4가지 정도 이며, 날짜와 시간, 날짜, 시간, 날짜 차이를 저장할 수 있다.
# 04_02_PythonDateTimeObject
import datetime
# 현재 년월일
Today = datetime.date.today()
print(type(Today)) # <class 'datetime.date'>
print(Today)
# 현재 일자와 시간
NowTime = datetime.datetime.now()
print(type(NowTime)) # <class 'datetime.datetime'>
print(NowTime)
# 날짜 타입의 선언과 할당
NewDay = datetime.date(2019, 12, 26)
print(type(NewDay)) # <class 'datetime.date'>
print(NewDay)
# 시간 타입의 선언과 할당
NewTime = datetime.time(12, 30, 40)
print(type(NewTime)) # <class 'datetime.time'>
print(NewTime)
4. 날짜(time) 객체를 날짜시간(datetime)객체로 변환하기
파이썬에서는 1970년1월1일 기준으로 시작하여 계산해 오는 Poxis time가 존재한다. time 객체를 통해서 정확한 시점을 관리 할 수 있을 뿐만 아니라 날짜 객체로의 변환도 가능하다.
# 04_03_PythonConvertTimeToDatetime
import time
import datetime
# 현재의 time 값
NowEpoch = time.time()
print(type(NowEpoch)) # <class 'float'>
print(NowEpoch) # 1577490087.7280653
# 현재의 datetime 값
NowDateTime = datetime.datetime.now()
print(type(NowDateTime)) # <class 'datetime.datetime'>
print(NowDateTime) # 2019-12-28 08:41:27.733046
# time 값을 datetime 값으로 변환
ConvertDateTime = datetime.datetime.utcfromtimestamp(NowEpoch)
print(NowDateTime) # 2019-12-28 08:41:27.733046
# datetime 값을 time 값으로 변환
ConvertTime = ConvertDateTime.timestamp()
print(ConvertTime) # 1577457687.728065
5. 날짜 형식 (Date Formating)
1) 날짜를 문자열로 변환
# 04_04_PythonDateFormat
import datetime
NowDate = datetime.datetime.now()
print(NowDate) # 2019-12-30 01:20:38.420879
FormatDate0 = datetime.datetime.strftime(NowDate, '%b %d %y %H %H %S')
print(FormatDate0) # Dec 30 19 01 01 38
FormatDate1 = datetime.datetime.strftime(NowDate, '%y %m %d %H %M %S')
print(FormatDate1) # 19 12 30 01 20 38
FormatDate1 = datetime.datetime.strftime(NowDate, '%Y/%m/%d %H:%M:%S')
print(FormatDate1) # 2019/12/30 01:22:24
2) 문자열을 날짜로 변환
# 04_05_PythonDateToString
import datetime
StringDateTime = '2019-12-30 01:20:38.420879'
dateTime = datetime.datetime.strptime(StringDateTime, '%Y-%m-%d %H:%M:%S.%f')
print(type(dateTime)) # <class 'datetime.datetime'>
print(dateTime) # 2019-12-30 01:20:38.420879
'Python Language' 카테고리의 다른 글
[Python Basic] 06. 셋 데이터 타입(Set Datatype) (0) | 2020.01.22 |
---|---|
[Python Basic] 05. 열거형(Enumerate) (0) | 2020.01.12 |
[Python] 2. Visual Studio Install for Python (1) | 2019.11.12 |
[Python] 1. Visual Studio Install for Python (0) | 2019.10.24 |
[Python] Tensorflow 설치하기 (0) | 2018.10.29 |