[Python] 파이썬 기초_date

youuu·2022년 12월 12일
0

Python

목록 보기
8/8

🥞 datetime import

📋 date.py

__name____main__ 인 경우는 조금 특별한 경우로 모듈이 다른 코드로 부터 import 되어 사용되는 상황이 아니라
바로 실행되는 경우에 가지게 되는 값이
즉 본인이 구현한 코드가 다른 파이썬 코드에 의해서 모듈로 import 될 경우도 있을 수 있고,
파이썬 인터프리터에 의해서 직접 실행될 경우도 있을 수 있는데, 위 코드는 인터프리터에 의해서
직접 실행될 경우에만 실행하도록 하고 싶은 코드 블럭이 있는 경우에 사용

from datetime import date
from datetime import time

def calc_date(yy, mm, dd):
    # date Create
    c_date = date(yy, mm, dd)
    return c_date

def calc_time(hr, mi, sc):
    #time Create
    c_time = time(hr, mi, sc)
    return c_time

def main():
    #date
    yy = 2020
    mm = 5
    dd  = 23

    #time
    hr = 22
    mi = 50
    sc = 57
    #Date 계산
    rDate = calc_date(yy, mm, dd)
    print('rDate-> {}'.format(rDate))
    print('rDate.month-> {}'.format(rDate.month))
    print('rDate.day-> {}'.format(rDate.day))
    print('rDate.year-> {}'.format(rDate.year))

    # time 계산
    rTime = calc_time(hr, mi, sc)
    print('rTime-> {}'.format(rTime))
    print('rTime.hour-> {}'.format(rTime.hour))
    print('rTime.minute-> {}'.format(rTime.minute))
    print('rTime.second-> {}'.format(rTime.second))

if __name__ == '__main__':
    main()

🥞 datetime import

📋 dateReplace.py

datetime.date와 datetime.time을 합치기 위해서는 datetime.datetime.combine을 이용
날짜만을 관리하기 위해서는 datetime.date, 시간만을 관리하기 위해서는 datetime.time

  • date 예제에선 from datetime import date했기때문에 date.으로 사용하였다.
  • dateCombine 에선 import datetime만 했기때문에 datetime.date로 뽑아야한다.

import datetime
d = datetime.date(2022, 12, 12)
t = datetime.time(12, 13, 18)

dt = datetime.datetime.combine(d,t)
print(dt)

🥞 datetime import

📋 dateCombine.py

날짜나 시간을 변경하기 위해서는 replace 메서드를 사용

import datetime

myDatetime = datetime.datetime.strptime('2022-11-11 12:21:52', '%Y-%m-%d %H:%M:%S')
print(myDatetime)

reDatetime = myDatetime.replace(month=12)
reDatetime = reDatetime.replace(day=12)
reDatetime = reDatetime.replace(year=2022)

print(myDatetime)
print(reDatetime)

🥞 datetime import

📋 dateTime2.py

날짜를 보기 좋은 포맷팅

from datetime import datetime

def main():
    theDateTime = datetime(2022, 6, 25, 13, 15, 8)
    #날짜를 보기 좋은 포맷팅
    print('theDateTime2 -> {}'.format(theDateTime.strftime('%Y/%m/%d %H:%M:%S')))
    print('theDateTime3 -> {}'.format((theDateTime.strftime('%I/%M %p'))))

if __name__=='__main__':
    main()

🥞 timedelta _ 시간 조작시 사용(1주 더하기,빼기)

📋 dateTimeDelta.py

datetime에 하루(1day)를 더하고 싶다면 datetime.timedelta를 이용

  • 1주 datetime.timedelta(weeks=1)
  • 1일 datetime.timedelta(days=1)
  • 1시간 datetime.timedelta(hours=1)
  • 1분 datetime.timedelta(minutes=1)
  • 1초 datetime.timedelta(seconds=1)
  • 1밀리초 datetime.timedelta(milliseconds=1)
  • 1마이크로초 datetime.timedelta(microseconds=1)
now = datetime.datetime.now()
print('now->', now)

# 그냥 시간 설정할때
setDate = datetime.timedelta(hours=5, minutes=30)
print('setDate->', setDate)

tomorrow = now + datetime.timedelta(days=1)
print('tomorrow->', tomorrow)

# 1주 더하기
weekAppend = now + datetime.timedelta(weeks=1)
print('weekAppend->', weekAppend)
# 1주 빼기
weekBefore = now + datetime.timedelta(weeks=-1)
print('weekBefore->', weekBefore)

🥞 strftime

📋 nowDate.py

import  datetime

now = datetime.datetime.now()
print(now)

# 날짜을 문자열로 출력하려면 strftime 메서드를 사용
nowDate = now.strftime('%Y-%m-%d')
print('nowDate-->', nowDate)

# 시간을 문자열로 출력하려면 strftime 메서드를 사용
nowTime = now.strftime('%H:%M:%S')
print('nowTime-->', nowTime)

nowDatetime = now.strftime('%Y-%m-%d %H:%M:%S')
print('nowDatetime-->', nowDatetime)

파이썬에서 오라클 설치(import)

  1. import cx_Oracle : 오라클 import
    처음에 import를 하면 빨간 불이 뜬다.

  1. File - Settings 들어가기

  2. Project: - Python Interpreter 클릭 후 +클릭

  3. cx-Oracle 검색 후 Install
    🔺 화면에서 import 할 때엔 import cx_Oracle였으나 검색시엔 cx-Oracle로 해야한다.

🥞 cx_Oracle

📋 insert.py

오류난 코드! 나중에 확인해봐야겠다.

import cx_Oracle


dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()

vdeptno = input('부서번호 입력 : ')
vdname = input('부서명 입력 : ')
vloc = input('위치입력 : ')

cursor.execute("insert into dept values(:deptno, :dname, :loc)",
              deptno=vdeptno, dname=vdname, loc=vloc)

con.commit()
con.close()

🥞 select

📋 select.py

import cx_Oracle

dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()

cursor.execute("""SELECT * FROM dept""")

# row = cursor.fetchone()
allDeptRow = cursor.fetchall()
print(allDeptRow)

for deptRow in allDeptRow:
    print('deptRow->', deptRow)
    for deptCol in deptRow:
        print(deptCol)

con.close()

🥞 DB selectAll

📋 selectAll.py

import cx_Oracle

dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()

cursor.execute("""SELECT * FROM dept""")

for deptno, dname, loc in cursor:
    print("dept->", deptno, dname, loc)
    print("{'deptno':'%s', 'dname':'%s', 'loc':'%s'}" %(deptno, dname, loc))

con.close()

🥞 DB delete

📋 delete.py

import cx_Oracle

dsn = cx_Oracle.makedsn("localhost", 1521, "xe")
con = cx_Oracle.connect("scott", "tiger", dsn)
cursor = con.cursor()

vdeptno = input('부서번호 입력: ')
cursor.execute("""delete from dept where deptno = :deptno""", deptno=vdeptno)

print('cursor.rowcount->', cursor.rowcount)

con.commit()
con.close()

profile
공부중인 주니어 개발자

0개의 댓글