전체 스터디
전체 스터디
  • 전체보기
  • 질문
  • 숙제
내 스터디
  • 스터디에 참여해보세요!
다른 스터디
  • 멀티캠
    • 전체보기
    • 질문
    • 숙제
    • 잡담
  • 파이썬 기초 스터디
  • 네이버 정복 파이썬 크롤링
  • 페이스북 만드는 웹개발
  • 데이터사이언스 12시간 입문기
  • 파이썬 구글 Sheet 연동
  • 엑셀서당 - 훈장님의 기초 엑셀 트레이닝
  • 고전게임을 만들며 배우는 코딩의 기초
  • 내 업무를 거의 자동화하는 방법
  • SQL 입문 4시간
  • QR 코드 프로그래밍
  • 비전공자 개발지식 총정리
  • 초고속 퍼포먼스 마케터
  • 왓챠 함께 만들기
  • 퍼블리셔 초고속 입문기
  • 한국형 커뮤니티 만들기
  • airbnb 프론트엔드 카피 프로젝트
  • 워드프레스로 쿠팡 만들기
신재용 리더
네이버 정복 파이썬 크롤링
온라인
클래스 자세히 보기
정인영
11월 24일 17:35 · 멀티캠

파이썬 코드 관련 질문이 있습니다.

기존 sql 코드에서 + str(number) 을 사용해서 바인드 변수형으로 사용하고자 합니다.


단, 여기서 숫자형 타입을 시간 형으로 변경을 하고자 하는데

기본 단위는 seconds입니다.

예를 들어 10을 입력을 받으면 00:00:10 으로 변경 후 sql 코드와 plus를 하고자 합니다.


파이썬에서 이를 표현할 수 있을까요?

아니면 db에서 함수를 사용해야하는 것일까요?


신재용
11월 25일 11:12

제가 잘 이해한지 모르겠지만 sql 코드는 string 형식이겠죠?

time 모듈을 사용해서 seconds string을 time 형식으로 바꿨다가, 다시 time 형식을 string 형식으로 바꾸는 방법을 사용할 수 있습니다.

import time
n = 10
s = time.strftime("%H:%M:%S", time.gmtime(n)) 

print(type(s), s)

모듈을 사용하고 싶지 않으시다면 연산을 통해 변환하도록 직접 로직을 작성해도 괜찮습니다.

좋아요 0
    신재용
    11월 25일 17:08

    네네 time 모듈은 내장모듈이라 문제 없이 동작할거에요.

    혹시 로직을 만드실거면

    ONE_DAY = 86400
    ONE_HOUR = 3600
    ONE_MINUTE = 60
    
    seconds = 10
    
    seconds %= ONE_DAY
    hour = seconds // ONE_HOUR
    seconds %= ONE_HOUR
    minutes = seconds // ONE_MINUTE
    seconds %= ONE_MINUTE
        
    print("%02d:%02d:%02d" % (hour, minutes, seconds))


    저희가 안 배운 포매팅 문법도 있긴 한데, 저런 식으로 작성하시면 될것 같습니다.

    좋아요 0
      정인영
      11월 25일 16:21

      감사합니다 재용님!! 저런 식으로 하면 되겠네요.
      sql 코드는 str 타입 맞습니다.

      prod에 반영가능한지 확인해보고 배포할 수 있겠네요.

      만약 모듈이 없다면, 입력받은 값을 변환해서 str 값을 리턴하는 펑션을 만들어야겠네요.. 혹은 db에서 변환할 수 있는 함수를 찾던가요

      좋아요 0
        댓글 1개 더보기
        참여자 네이버 정복 파이썬 크롤링