고급 파이썬 개발 과정
챕터
>
레벨
문자열 및 시간 모듈
날짜/시간 모듈
목표
날짜 및 시간 모듈 함수를 사용하여 기록을 조정하고 공급품의 발송 날짜를 설정하십시오.
새 건설 지역의 별채 하층은 최근에 배송된 일부 공급품이 보관되어 있는 창고로, 이들은 포장이 완료되어 새 건설 주변 지역으로 발송될 준비가 되어 있습니다. 이 공급품들은 올바른 날짜와 시간이 라벨링되어야 하며, 이미 부착된 라벨에는 모든 관련 정보가 포함되어 있어야 합니다. 이를 위해 날짜와 시간을 수동으로 작성하고 형식을 지정할 수도 있지만, 날짜 및 시간 모듈을 사용하면 훨씬 더 빠르게 처리할 수 있습니다.
날짜 및 시간 모듈은 import datetime 을(를) 작성하여 불러오며, 이를 통해 원하는 형식의 날짜와 시간을 읽고 설정할 수 있는 강력한 함수들을 사용할 수 있습니다. 또한 시간대를 설정하기 위해 from datetime import timezone, timedelta 를(을) 사용할 수 있습니다. 모듈을 불러오면 다음 함수들이 제공됩니다:
datetime.datetime(): 원하는 날짜와 시간을 설정하고 저장할 수 있으며,year,month,day,hour,minute,second,microsecond,timezone등의 여러 인수를 받습니다. 모든 인수를 입력할 필요 없이 필요한 인수만 입력하면 됩니다.datetime.datetime.now(): 시계에 표시되는 현재 날짜와 시간을 반환합니다.datetime.datetime.date(): 날짜만 반환하며, 시간은 포함하지 않습니다.datetime.datetime.time(): 시간만 반환하며, 날짜는 포함하지 않습니다.datetime.datetime.timestamp(): UNIX 코드 형식의 datetime 타임스탬프를 반환합니다.timezone(): 날짜와 시간 인수에 사용할 시간대를 설정할 수 있습니다.datetime.strftime(): 날짜와 시간의 특정 정보를 추출하여 원하는 형식으로 포맷할 수 있습니다. 우리 목적을 위해 다음 코드를 사용합니다:"%a": 요일 (축약형)"%d": 월의 일"%B": 월 이름 (전체 표기)"%I": 12시간제 시간"%M": 분"%p": 오전/오후"%x": 현지 날짜 형식"%X": 현지 시간 형식"%j": 연중 일수"%U": 연중 주"%z": UTC 시간대
먼저, 조명 X 표시가 있는 곳으로 이동하여 책상을 마주보고, read() 함수를 사용해 선적의 포장 날짜와 프로젝트의 시작 및 종료 날짜를 확인합니다. 문서에 제공된 시작 및 종료 날짜(월/일/연도)를 기록해 두십시오. 메모에 작성된 최초 세(3) 개의 데이터 포인트와 시간대는 이후 함수에서 사용하기 쉽도록 코드 편집기에 미리 작성되어 있습니다.
같은 공간에서 today 라는 변수를 만들고 datetime.datetime.now() 의 반환 값을 저장하십시오. str() 함수를 사용하여 읽기 쉬운 문자열 형식으로 변환합니다. 예: today = str(datetime.datetime.now()). 이후 display() 함수를 사용하여 오늘 날짜를 메모에 기록하면, 발송 할당 날짜가 설정되고 필요한 영역에 누락된 데이터 포인트를 추가할 수 있습니다.
책상 옆의 금색 X 표시로 이동한 후, 이번에는 이 프로젝트가 소요될 일 수를 계산하고 기록할 것입니다. 편집기에는 start 와 end 라는 두 개의 datetime 변수가 미리 작성되어 있습니다. 이전에 읽은 시작 및 종료 날짜를 제공된 공간에 기입하십시오. result 라는 변수를 만들고, end 와 start 변수의 차이를 계산한 결과를 저장합니다. 읽기 쉬운 문자열 형식으로 변환하기 위해 str() 함수를 사용합니다. 예: result = str(end-start). 이후 write() 함수를 사용하여 result 변수를 기록하고, 프로젝트 소요 시간을 나타냅니다.
이제 책상 옆의 빨간 양탄자 근처 금색 X 표시로 이동하여, 왼쪽 열에 있는 빨간 양탄자 상자 옆의 X 표시로 내려갑니다. 여기에서는 datetime() 을 사용하여 상자에 누락된 포장 날짜의 특정 부분을 추가합니다. 편집기에는 red_date 변수에 미리 할당된 날짜가 있으며, 이를 이용해 다양한 데이터 조각을 추출하여 상자에 라벨을 붙일 것입니다.
빨간 양탄자에 대해:
-
금색 X 표시에서는 상자를 바라보고
red_days라는 변수를 만들어red_date변수의date()를 사용하여 날짜(시간 제외)만 저장한 후str()로 변환합니다. 예:red_days = str(red_date.date()). 이후write()함수를 사용하여 상자에red_days로 라벨을 붙입니다. -
연한 X 표시에서는 상자를 바라보고
red_time이라는 변수를 만들어red_date변수의time()을 사용하여 시간(날짜 제외)만 저장한 후str()로 변환합니다. 예:red_time = str(red_date.time()). 이후write()함수를 사용하여 상자에red_time으로 라벨을 붙입니다. -
진한 X 표시에서는 상자를 바라보고
red_timestamp라는 변수를 만들어red_date변수로부터 계산된 타임스탬프를 저장합니다. 예:red_timestamp = red_date.timestamp(). 이후write()함수를 사용하여 상자에red_timestamp로 라벨을 붙입니다.
그 다음, 파란 양탄자 상자 앞의 X 표시로 이동합니다. 이전과 마찬가지로 미리 작성된 blue_date 변수를 참조하는 세 개의 색상 X 표시가 있으며, 이를 통해 라벨을 완성합니다. 열을 따라 이동하면서 strftime() 함수를 사용해 배송 라벨에 누락된 요소를 추가할 것입니다. 이 함수는 대상 날짜에서 요소를 추출하고 포맷하기 위한 특정 코드가 필요합니다. 예를 들어, blue_date 변수의 요일을 가져오려면 "%a" 코드를 strftime() 함수와 함께 사용합니다. 예: blue_date.strftime("%a").
파란 양탄자에 대해:
-
금색 X 표시에서는 상자를 바라보고
blue_weekday라는 변수를 만들어blue_date변수의strftime()을 사용하여 요일을 저장합니다. 예:blue_day = blue_date.strftime("%a"). 그리고blue_day라는 또 다른 변수를 만들어blue_date변수의strftime()을 사용하여 월의 일 을 저장합니다. 또 다른 변수인blue_month를 만들어blue_date변수의strftime()을 사용하여 월의 이름 (전체 표기) 을 저장합니다. 미리 작성된write()함수에blue_weekday,blue_day및blue_month변수를 삽입합니다. -
연한 X 표시에서는 상자를 바라보고
blue_hour라는 변수를 만들어blue_date변수의strftime()을 사용하여 시간 (12시간제) 을 저장합니다. 그리고blue_minute라는 변수를 만들어blue_date변수의strftime()을 사용하여 분 을 저장합니다. 또 다른 변수인blue_meridian을 만들어blue_date변수의strftime()을 사용하여 오전/오후 를 저장합니다. 미리 작성된write()함수에blue_hour,blue_minute및blue_meridian변수를 삽입합니다. -
진한 X 표시에서는 상자를 바라보고
blue_local_date라는 변수를 만들어blue_date변수의strftime()을 사용하여 현지 날짜 형식 을 저장합니다. 그리고blue_local_time이라는 변수를 만들어blue_date변수의strftime()을 사용하여 현지 시간 형식 을 저장합니다. 미리 작성된display()함수에blue_local_date,blue_local_time및blue_meridian변수를 삽입합니다.
마지막으로, 초록 양탄자 옆의 금색 X 표시로 이동한 후 오른쪽 열에 있는 초록 양탄자 상자 옆의 X 표시로 내려갑니다. 여기에서는 strftime() 을 사용하여 상자에 누락된 포장 날짜의 특정 부분을 계속 추가합니다. 편집기에는 green_date 변수에 미리 할당된 날짜가 있으며, 이를 이용해 다양한 데이터 조각을 추출하여 상자에 라벨을 붙일 것입니다.
초록 양탄자에 대해:
-
금색 X 표시에서는 상자를 바라보고
green_day라는 변수를 만들어green_date변수의strftime()을 사용하여 연중 일수 를 저장합니다. 이후write()함수를 사용하여 상자에green_day로 라벨을 붙입니다. -
연한 X 표시에서는 상자를 바라보고
green_week라는 변수를 만들어green_date변수의strftime()을 사용하여 연중 주 를 저장합니다. 이후write()함수를 사용하여 상자에green_week로 라벨을 붙입니다. -
진한 X 표시에서는 상자를 바라보고
green_timezone라는 변수를 만들어green_date변수의strftime()을 사용하여 UTC 시간대 를 저장합니다. 이후write()함수를 사용하여 상자에green_timezone으로 라벨을 붙입니다.
모든 색상 양탄자 옆의 X 표시 라벨 작업이 완료되면, 이 단계는 완료됩니다.