1. datetime
1. date vs datetime
- date: date
- datetime: timestamp
import datetime
print(datetime.date.today()) # date, 2023-11-16
print(datetime.datetime.now()) # timestamp, 2023-11-16 14:46:07.175668
2. date.today()
- today() 메소드를 통해 year/month/day 를 추출 할 수 있다.
import datetime
x = datetime.date.today()
print(x.year)
print(x.month)
print(x.day)
3. datetime.now()
- now() 메소드를 통해 date.today() 보다 조금 더 많은 날짜 정보를 추출 할 수 있다.
import datetime
y = datetime.datetime.now()
print(y.year)
print(y.month)
print(y.day)
print(y.hour)
print(y.minute)
print(y.second)
print(y.microsecond)
print(y.date())
print(y.time())
print(y.weekday())
4. date ↔ str 변환
- strftime: 날짜를 문자로 추출하는 함수
- strptime: 문자 날짜를 날짜로 변환하는 함수
# strftime: 날짜를 문자로 추출하는 함수
# date > char
import datetime
d = datetime.datetime.now()
d.strftime("%x") # 현재날짜 월/일/년
d.strftime("%X") # 현재 시:분:초
d.strftime("%Y") # 현재년도 4자리
d.strftime("%y") # 현재년도 2자리
d.strftime("%m") # 현재달
d.strftime("%d") # 현재일
d.strftime("%B") # 현재 영문자 달
d.strftime("%b") # 현재 영문자 달 약어
d.strftime("%H") # 현재 시 24시간
d.strftime("%I") # 현재 시 12시간
d.strftime("%p") # AM PM
d.strftime("%M") # 현재 분
d.strftime("%S") # 현재 초
d.strftime("%A") # 현재 요일(영문자)
d.strftime("%a") # 현재 요일(영문자, 약어)
d.strftime("%c") # Thu Nov 16 15:02:10 2023
d.strftime("%w") # 현재 숫자 요일 0:일 ~ 6:토
d.strftime("%j") # 누적날짜
d.strftime("%U") # 누적주(일요일 시작)
d.strftime("%W") # 누적주(월요일 시작)
# strptime: 문자 날짜를 날짜로 변환하는 함수
# char > date
datetime.datetime.strptime("2023-10-05 09:30:30","%Y-%m-%d %H:%M:%S")
a= datetime.datetime(2023, 10, 5, 9, 30, 30)
print(a)
# 문자 날짜
d = datetime.date(2023,10,5) # 2023-10-05
t = datetime.time(9,30,30) # 09:30:30
# 문자 날짜 > 날짜
datetime.datetime.combine(d,t).strftime("%w")
5. 날짜 연산
- timedelta()
# 1. 날짜 - 날짜 = 일수
datetime.date(2023,11,16) - datetime.date(2023,10,5)
(datetime.date(2023,11,16) - datetime.date(2023,10,5)).days
# 2. 날짜 - 일수 = 날짜
datetime.date(2023,11,16) - datetime.timedelta(days = 100)
datetime.date(2023,11,16) + datetime.timedelta(days = -100)
# 3. 날짜 + 일수 = 날짜
datetime.date(2023,11,16) + datetime.timedelta(days = 100)
# 4. 날짜 시간 + 시간 = 날짜 시간
datetime.datetime(2023,11,16,15,30,30) + datetime.timedelta(hours = 3)
# 5. 날짜 시간 + 분 = 날짜 시간
datetime.datetime(2023,11,16,15,30,30) + datetime.timedelta(minutes = 30)
# 6. 날짜 시간 + 초 = 날짜 시간
datetime.datetime(2023,11,16,15,30,30) + datetime.timedelta(seconds = 300)
# 7. 날짜 시간 + 시간, 분, 초 = 날짜 시간
datetime.datetime(2023,11,16,15,30,30) + datetime.timedelta(hours = 3, minutes = 120, seconds = 300)
# 8. 날짜 시간 + 주 = 날짜 시간
datetime.datetime(2023,11,16,15,30,30) + datetime.timedelta(weeks = 5)
2. time
- UTC 기준 시간
- 1970년 1월 1일 0시 0분 0초를 기준으로 지난 시간을 초단위로 리턴해주는 기능
1. time과 localtime
- time.time() 은 보통 프로그램의 시작과 종료 때 시간을 확인하여 프로그램의 총 실행시간을 구하는데 사용한다.
import time
time.time()
time.localtime()
time.localtime().tm_year
time.localtime().tm_mon
time.localtime().tm_mday
time.localtime().tm_hour
time.localtime().tm_min
time.localtime().tm_sec
time.localtime().tm_wday # 요일 0 월 ~ 6 일
time.localtime().tm_yday # 누적일
time.localtime().tm_isdst # 서머타임 경우 1, 아닐 경우 0, 몰라 -1
2. sleep()
- 지정된 초단위 시간만큼 대기한다.
import time
start_time = time.time()
for i in range(10):
print(i)
time.sleep(2) # 대기시간
end_time = time.time()
print("time elapsed : ",end_time- start_time)
3. time ↔ str 변환
- strftime: time → str
- strptime: str → time
import time
# time > char
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
import time
# char > time
time.strptime('2023-11-16 16:00:00', '%Y-%m-%d %H:%M:%S')
print(time.strptime('2023-11-16 16:00:00', '%Y-%m-%d %H:%M:%S'))
3. Calendar
import calendar
calendar.calendar(2024)
calendar.prcal(2024)
calendar.prmonth(2024,3)
calendar.prmonth(2024,5)
calendar.weekday(2023,11,16) # 요일 0 월 ~ 6 일
calendar.prmonth(2023,11)
calendar.monthrange(2023,11) # 시작 요일, 끝 일
calendar.prmonth(2023,12)
calendar.monthrange(2023,12)
calendar.monthrange(2023,12)[0] # 시작요일
calendar.monthrange(2023,12)[1] # 마지막일
'language > Python' 카테고리의 다른 글
[Package/Library] pandas 자료구조(1) - Series (0) | 2023.11.17 |
---|---|
[File] 파일 열기/읽기/쓰기/닫기 (open, read, write, close) (1) | 2023.11.17 |
[Module] 파이썬 파일(.py)을 import 하는 방법 (0) | 2023.11.16 |
[Function] 가변 인자(*args)와 키워드 가변 인자(**kwargs) (0) | 2023.11.16 |
[자료형] List Comprehension (0) | 2023.11.15 |