Posts

Showing posts with the label datetime

파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬에서 datetime 객체를 이용해서 시간차를 계산할 때 유의할 점

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/71e499-datetime 파이썬에서 datetime 객체를 이용한 시간차 계산 방법은 이전 포스트를 참고하시기 바랍니다. 아래의 링크입니다. 파이썬에서 datetime 객체를 이용한 시간차 계산 datetime 객체에는 시간대(timezone) 정보가 포함되어 있을 수도 있고 없을 수도 있습니다. datetime 객체 2개에 대해 빼기(-) 연산을 하려면 양쪽 다 시간대 정보가 있거나 또는 양쪽 다 시간대 정보가 없어야 합니다. 한쪽은 시간대 정보가 있고 한쪽은 없을 경우엔 계산이 불가능하고 예외가 발생하게 됩니다. 이전 예제 코드에서 시간대를 추가한 경우라면 아래와 같이 될 것입니다. import datetime import pytz dt_a = datetime.datetime.strptime("2022.08.11 10:30:30", "%Y.%m.%d %H:%M:%S") dt_a_local = dt_a.astimezone(pytz.timezone('Asia/Seoul')) dt_b = datetime.datetime.strptime("2022.08.11 11:25:14", "%Y.%m.%d %H:%M:%S") dt_b_local = dt_b.astimezone(pytz.timezone('Asia/Seoul')) dt_delta = dt_b_local - dt_a_local 위의 코드에서 dt_a, dt_b 또는 dt_a_local, dt_b_locak끼리 계산이 가능합니다. dt_a와 dt_b_local을 짝을 지어서 빼기 연산을 할 수 없습니다. 시간대 정보가 있는 경우, 시간대가 반드시 같을 필요는 없습니다. 예를 들어 하나는 한국 시간(GMT+9)이고 나머지 하나는 GMT라고 해도 시간차 계산에는 ...

파이썬에서 datetime 객체를 이용한 시간차 계산

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/cc7532-datetime 파이선에서 특정 시각(연/월/일 시/분/초)의 정보를 datetime 객체로 생성하고, 두 datetime 객체의 시간차를 계산할 수 있습니다. 아래와 같은 예제 코드를 생각해 보겠습니다. import datetime dt_a = datetime.datetime.strptime("2022.08.11 10:30:30", "%Y.%m.%d %H:%M:%S") dt_b = datetime.datetime.strptime("2022.08.11 11:25:14", "%Y.%m.%d %H:%M:%S") dt_delta = dt_b - dt_a 8월 11일 11시 25분 14초와 같은날 10시 30분 30초 사이의 시간차를 계산하려면 양쪽 시각을 각각 datetime 객체로 만든 후에 빼기(-) 연산을 하면 됩니다. 위의 예시에서는 이 시간차를 변수 dt_delta에 할당했습니다. datetime 객체를 이용해 계산한 시간차는 timedelta 객체가 됩니다. 시간차가 몇초인지 확인하려면 timedelta의 total_seconds() 함수를 이용합니다. print(dt_delta.total_seconds()) 3284.0 몇초인지 알았으니 time.sleep()을 이용해서 그 시간차만큼 대기할 수도 있겠습니다. import time time.sleep(dt_delta.total_seconds()) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추...

파이썬에서 현재 시각을 시간대(timezone) 정보와 함께 datetime 객체로 가져오기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/timezone-datetime 파이썬에서 현재 시각을 datetime 객체로 가져올 때 시간대(timezone) 정보를 포함하는 방법입니다. 우선 시간대 정보 없이 현재 시각을 가져오려면 아래와 같이 할 수 있습니다. import datetime now = datetime.datetime.now() 위와 같이 하면, 현재 시각 정보를 가져오긴 하지만 시간대에 대한 정보는 없는 상태입니다. 만약 시간대 정보를 포함하고 싶다면 아래의 예시처럼 now() 함수에 인자(argument)를 지정해 주어야 합니다. 한국시간(GMT+9)을 사용하는 경우의 예제 코드는 아래와 같습니다. import datetime import pytz tz_info = pytz.timezone('Asia/Seoul') now_with_tz = datetime.datetime.now(tz_info) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬에서 시간 문자열과 datetime 객체 전환 - strptime(), strftime()

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-strptime-strftime 파이썬에서 시간 문자열을 datetime 객체로 변환하는 방법입니다. strptime() 함수를 사용합니다. 예제를 보면 금방 알 수 있습니다. import datetime import pytz # 2022년 7월 11일 20시 30분 33초(문자열) dt_str = "2022.07.11 20:30:33" # dt_str로부터 datetime 객체를 만들어 dt에 할당 dt = datetime.datetime.strptime(dt_str, "%Y.%m.%d %H:%M:%S") # dt에 시간대 정보를 설정해서 dt_local에 할당(한국 시간, GMT+9) tz_info = pytz.timezone('Asia/Seoul') dt_local = dt.astimezone(tz_info) 반대로 datetime 객체로부터 시간 문자열을 만드는 방법은 strftime() 함수를 사용합니다. dt_local_str = dt_local.strftime("%Y.%m.%d %H:%M:%S") print(dt_local_str) 2022.07.11 20:30:33 @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 STEEM.NFT - 디지털 아트 보존 프로젝트 Posted through the AVLE Dapp ( https://avle.io )

파이썬에서 시간 문자열을 datetime 객체로 변환

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/2h4l8l-datetime 파이썬에서 특정 시간을 나타내는 문자열, 예를 들어 "2021-07-19 19:48:25" 이러한 문자열을 datetime 객체로 변환하는 방법입니다. strptime() 함수를 이용해서 아래와 같이 할 수 있습니다. import datetime # 문자열 "2021.07.19 19:48:25"을 datetime 객체로 변환하여 변수 pt에 할당 pt = datetime.datetime.strptime("2021-07-19 19:48:25", "%Y-%m-%d %H:%M:%S") strptime()을 사용하며, 변환 대상 시간 문자열과 여기에 일치하는 형식 문자열을 인자(argument)로 사용합니다. 이제 pt에 시간대(timezone) 정보를 추가해 보겠습니다. import pytz # 시간대 정보: 한국 표준시 tz_info = pytz.timezone('Asia/Seoul') # pt에 시간대 정보를 적용하여 pt_local에 할당 pt_local = pt.astimezone(tz_info) # 해당 시간을 1970-01-01 00:00:00 UTC 이후 경과한 초로 표시 print(pt.strftime("%s")

파이썬에서 어제, 오늘, 내일 날짜 구하기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/4yeb8j 파이썬에서 날짜를 구하는 방법입니다. datetime 모듈을 이용합니다. 먼저 오늘 날짜입니다. import datetime # 오늘 날짜를 구해서 today에 할당 today = datetime.date.today() print(today) 2021-06-26 날짜 표시 형식을 지정하고 싶으면 아래와 같이 할 수 있습니다. print(today.strftime("%Y.%m.%d")) 2021.06.26 어제 또는 내일 날짜는 오늘로부터 하루가 차이나는 값을 구하는 방식으로 계산하며 timedelta()를 활용합니다. import datetime from datetime import timedelta today = datetime.date.today() # 어제 날짜: 오늘 - 1일 yesterday = today - timedelta(days=1) print(yesterday) 2021-06-25 # 내일 날짜: 오늘 + 1일 tomorrow = today + timedelta(days=1) print(tomorrow) 2021-06-27 # 모레 날짜: 오늘 + 2일 day_after_tomorrow = today + timedelta(days=2) print(day_after_tomorrow) 2021-06-28

파이썬에서 시간 문자열을 datetime 객체로 만들기

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime 파이썬에서 시간 문자열을 datetime 객체로 만드는 방법입니다. strptime()을 이용합니다. 시간 문자열과 해당 문자열의 형식(format)을 인자로 지정합니다. 예시를 보면 금방 알 수 있습니다. import datetime # 문자열 dt_string dt_string = '2021.06.25 10:24:32' # 문자열 형식 dt_format = '%Y.%m.%d %H:%M:%S' # 문자열을 datetime 객체로 변환하여 dt_object에 할당 dt_object = datetime.datetime.strptime(dt_string, dt_format) datetime 객체가 만들어졌으므로, 이제 날짜/시간과 관련된 처리를 편리하게 작업할 수 있습니다.

파이썬에서 시간대(timezone) 변경

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/timezone 파이썬에서 시간대(timezone)를 변경하는 방법을 간단하게 메모해 둡니다. datetime 모듈과 dateutil 모듈을 사용해서 현재 시간을 다른 시간대로 변환해서 출력할 수 있습니다. from datetime import datetime import pytz # 현재 시각을 UTC/GMT 기준으로 now에 할당 now = datetime.utcnow() # 현재 시각을 지역 시간대 기준으로 now_local에 할당 now_local = datetime.now() datetime 객체인 now에 저장된 시간 정보를 원하는 형식에 맞춰서 문자열로 출력하기 위해 strftime() 함수를 이용합니다. # 현재 시각 출력 (UTC/GMT) now.strftime("%Y-%m-%d %H:%M:%S") '2021-04-10 13:48:54' # 현재 시각 출력 (KST) now_local.strftime("%Y-%m-%d %H:%M:%S") '2021-04-10 22:48:54' 위의 값은 UTC/GMT 기준이므로, 이것을 한국 시간대로 바꿉니다. 우선 시간대 정보(tzinfo)를 가져와 변수 UTC, KST에 할당합니다. # 한국 시간대 정보를 KST에 할당 UTC = pytz.timezone('UTC') KST = pytz.timezone('Asia/Seoul') now에 할당된 datetime 객체에 시간대가 GMT/UTC라는 정보를 추가합니다. # now의 시간대 정보를 UTC로 설정하여 now_utc에 할당 now_utc = now.replace(tzinfo=UTC) now_utc의 시간대가 GMT/UTC라고 명시되었으므로, 이 시간 정보를 다른 시간대 기준으로 환산할 수 있습니다. ...