본문 바로가기
지속가능티끌/Python

Python. time . sleep . datetime. 밀리초 등

by i.got.it 2019. 5. 22.

 

 

 

time.sleep(secs)

- 인자 : 초단위 시간, 실수, 정수 모두 가능 

 

from time import sleep 
sleep(3)
sleep(0.1)
sleep(0.001)

 

 

 

time 상세정보. 

 

https://docs.python.org/3/library/time.html

 

time — Time access and conversions — Python 3.7.3 documentation

time — Time access and conversions This module provides various time-related functions. For related functionality, see also the datetime and calendar modules. Although this module is always available, not all functions are available on all platforms. Most

docs.python.org

 

 

 

마이크로초, 밀리초 , 초 단위 정수로 시간 받기 

 

import datetime

#timestamp() 형식 : 1631069486.025195 즉 초이하는 소수점 이하 6자리까지 표현.
def get_time_us(): # 마이크로 초 단위로 시간 정수로 받기.형식 1631069486025195 
    return round(datetime.datetime.utcnow().timestamp() * 1000000) # 형식 

def get_time_ms(): # 밀리초 단위로 시간 정수로 받기. 
    return round(datetime.datetime.utcnow().timestamp() * 1000)

def get_time_sec(): # 초 단위로 시간 정수로 받기. 
    return round(datetime.datetime.utcnow().timestamp())

 

 

 

 

UTC 현재 시간을 밀리초 단위의 epoch 시간으로 받기 


import time

# 현재 UTC 시간을 밀리초 단위로 가져오기
current_time_millis = int(time.time() * 1000)

 

 

 

 

UTC 임의 시간을 밀리초 단위의 epoch 시간으로 받기 

시간 지정예 :utc  2014년 10월 1일 12시 0분 0초 


from datetime import datetime, timezone

# 2014년 10월 1일 12시를 UTC로 설정한 datetime 객체 생성
dt = datetime(2014, 10, 1, 12, 0, 0, tzinfo=timezone.utc)

# datetime 객체를 epoch 시간(초 단위)으로 변환
epoch_seconds = dt.timestamp()

# epoch 시간을 밀리초로 변환
epoch_milliseconds = int(epoch_seconds * 1000)

print(f"Epoch time in milliseconds: {epoch_milliseconds}")

 

위 코드에서 시간 지정을 상수로 하지 않고 문자열 변수로 하는 코드 


from datetime import datetime, timezone

# 날짜와 시간(시:분:초) 문자열 변수
datetime_str = "2014-10-01 12:00:00"

# 문자열을 datetime 객체로 변환 및 UTC 설정
dt = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S").replace(tzinfo=timezone.utc)

# epoch 시간(초 단위)으로 변환
epoch_seconds = dt.timestamp()

# 밀리초로 변환
epoch_milliseconds = int(epoch_seconds * 1000)

print(f"Epoch time in milliseconds: {epoch_milliseconds}")

 

 

문자열로 UTC 시간 입력하면 밀리초 단위 epoch 리턴하는 함수 구현


from datetime import datetime, timezone

def utc_datetime_to_epoch_ms(datetime_str):
    """
    UTC 날짜 및 시간 문자열을 밀리초 단위의 Epoch 시간으로 변환함.

    Args:
        datetime_str (str): UTC 날짜 및 시간 문자열, 포맷은 "YYYY-MM-DD HH:MM:SS"

    Returns:
        int: 밀리초 단위의 Epoch 시간
    """
    # 문자열을 datetime 객체로 변환 (UTC로 설정)
    dt_utc = datetime.strptime(datetime_str, "%Y-%m-%d %H:%M:%S")
    dt_utc = dt_utc.replace(tzinfo=timezone.utc)

    # Epoch 시간으로 변환 (초 단위)
    epoch_s = int(dt_utc.timestamp())

    # 밀리초 단위로 변환
    epoch_ms = epoch_s * 1000
    
    return epoch_ms

# 사용 예시
utc_datetime_str = "2024-08-01 00:00:00" 
epoch_ms = utc_datetime_to_epoch_ms(utc_datetime_str)
print(epoch_ms)

 

 

 

Time 과 DateTime 비교. 

 

Time 

 

  • 목적: 주로 시스템 시각과 시간 측정.
  • 기능:
    • 현재 시각을 epoch 시간(초 단위)으로 반환: time.time()
    • 시간 지연을 위한 함수: time.sleep(seconds)
    • 시간을 문자열로 형식화: time.strftime(format)
    • 문자열에서 시간을 파싱: time.strptime(string, format)

코드 예

import time

# 현재 epoch 시간(초 단위)
current_time_seconds = time.time()
print(f"Current epoch time (seconds): {current_time_seconds}")

# 현재 시간을 형식화된 문자열로
formatted_time = time.strftime("%Y-%m-%d %H:%M:%S")
print(f"Formatted time: {formatted_time}")

 

DateTime 

 

  • 목적: 날짜와 시간의 조작, 계산, 시간대 처리.
  • 기능:
    • 날짜와 시간을 포함한 객체 생성: datetime.datetime
    • 시간대 지원: datetime.timezone
    • 날짜와 시간 계산 및 델타 처리: datetime.timedelta
    • 날짜와 시간을 문자열로 변환: datetime.strftime(format)
    • 문자열에서 날짜와 시간 객체로 변환: datetime.strptime(string, format)

코드 예 

 

from datetime import datetime, timezone, timedelta

# 현재 UTC 시간 객체 생성
now_utc = datetime.now(timezone.utc)
print(f"Current UTC datetime: {now_utc}")

# 현재 UTC 시간을 epoch 시간(초 단위)으로 변환
epoch_seconds = now_utc.timestamp()
print(f"Current epoch time (seconds): {epoch_seconds}")

# 10일 후의 날짜 및 시간
future_time = now_utc + timedelta(days=10)
print(f"Date and time 10 days from now: {future_time}")

 

 

 

 


첫 등록 : 2019.05.22

최종 수정 : 2024.08.22

단축 주소 : https://igotit.tistory.com/2190


 

 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5