# 날짜, 시간 다루기
# 날짜는 기본적으로 float 형식, 1970년 1월 1일을 기준시로 사용
import time
import datetime
import subprocess

  now = time.time() # float 타입
  print(now)
  now = round(time.time()) # 소수점 제거
  print(now)
  now = time.ctime() # 문자형 날짜
  print(now)
  now = time.localtime() # 로컬 타임, struct_time
  print(now)
  print(now.tm_year) # 년도, 2022
  now = time.gmtime() # 그리니치 타임
  print(now)

출력값은

1642230948.963247
1642230949
Sat Jan 15 07:15:48 2022
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=15, tm_hour=7, tm_min=15, tm_sec=48, tm_wday=5, tm_yday=15, tm_isdst=0)
2022
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=15, tm_hour=7, tm_min=15, tm_sec=48, tm_wday=5, tm_yday=15, tm_isdst=0)

 

날짜 처리, 1000일 후 날짜 구하기

  white = datetime.date(2022, 3, 14)
  print(white)
  print(white.year, white.month, white.day)
  print(white.isoformat())
  bedtime = datetime.time(23, 35, 45)
  print(bedtime)
  print(bedtime.hour, bedtime.minute, bedtime.second)
  now = datetime.datetime.now()
  print(now)
  dday = datetime.timedelta(days=1000)
  theday = now + dday # 1000 일 후 
  print(theday)
  beforeday = now - dday # 1000 일 전
  print(beforeday)

출력값은

2022-03-14
2022 3 14
2022-03-14
23:35:45
23 35 45
2022-01-15 07:15:50.984257
2024-10-11 07:15:50.984257
2019-04-21 07:15:50.984257

 

1초간격으로 10번 반복하기

  for i in range(10):
    time.sleep(1)
    print(i)

출력값

0
1
2
3
4
5
6
7
8
9

 

특정 날짜 시간까지 프로그램 중지, 1초 간격으로 확인, 그 날짜 시간이 되었을때 화면 출력
  wakeup_time = datetime.datetime(2022, 2, 1, 9, 00, 00)
  while datetime.datetime.now() < wakeup_time:
    time.sleep(1)
  print("The sul is passed !!")
 
datetime객체를 문자로 바꾸기
  wc8 = datetime.datetime(2002, 6, 22, 15, 30, 0)
  str_wc8 = wc8.strftime('%Y/%m/%d %H:%M:%S')
  print(str_wc8) # 2002/06/22 15:30:00

 

다른 프로그램 실행
  subprocess.Popen('C:\\Windows\\System32\\calc.exe') # 계산기 실행
  subprocess.Popen(['python.exe', 'test\\hello.py'])  # 파이썬 프로그램 실행, test폴더에 있는 hello.py 파일 열기
  subprocess.Popen(['start','hello.txt'], shell=True) # txt 확장자의 기본 프로그램 실행

 

수행시간 확인

def calc_prod():
  # 실행시간 체크 예제
  # 10만번 반복 계산
  product = 1
  for i in range(1, 100000):
    product = product + 1
  return product
  
 def main():
  start = time.time()
  prod = calc_prod()
  end = time.time()
  print('수행 결과값은 {}'.format(str(prod)))
  print('수행 시간 : {}'.format((end - start)))

 

소스 링크

https://replit.com/@dhshin38/Tutorial-Python#date_schedule_process.py

 

Loading...

Replit is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages.

replit.com

 

'Python' 카테고리의 다른 글

Python 정규식  (0) 2022.01.15
Python list, tuple, dictionary, 리스트, 튜플, 딕셔너리  (0) 2022.01.15
Python 숫자, 문자, type  (0) 2022.01.15
Python 특징  (0) 2022.01.15
Python 개발 환경  (0) 2022.01.15

+ Recent posts