일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 하이퍼레저 패브릭
- 파이썬 데이터분석
- 스칼라
- 안드로이드 웹뷰
- 파이썬 머신러닝
- akka 강좌
- Play2
- CORDA
- 하이브리드앱
- 엔터프라이즈 블록체인
- Play2 로 웹 개발
- Akka
- Golang
- 파이썬 동시성
- Hyperledger fabric gossip protocol
- hyperledger fabric
- play 강좌
- 스위프트
- 스칼라 강좌
- 주키퍼
- 그라파나
- 스칼라 동시성
- 블록체인
- 플레이프레임워크
- Actor
- play2 강좌
- Adapter 패턴
- 파이썬 강좌
- 이더리움
- 파이썬
- Today
- Total
HAMA 블로그
파이썬 시간 함수 (time, datetime) 예제 본문
# coding=utf-8
import time
import datetime
# 2017-08-30 21:21:57.860000
def getCurrentTime():
return datetime.datetime.now()
# 초를 문자열 시간으로
def getCurrentTimeBySec(s):
m = s / 60
timestr = "2016-05-19 {}:{}".format(m / 60, m%60)
print timestr
return datetime.datetime.strptime(timestr, "%Y-%m-%d %H:%M")
# 시간 차이를 문자열로 00:00:03
# tTime 은 datetime 타입이 들어간다.
def getDiffTimeToTime(dtTime) :
return getCurrentTime() - dtTime
# 1502108747.22 같은 누적초로 리턴
def getCurrentClock() :
return time.time()
# time.struct_time(tm_year=2017, tm_mon=8, tm_mday=7, tm_hour=21, tm_min=36, tm_sec=9, tm_wday=0, tm_yday=219, tm_isdst=0)
def getlocalTime():
return time.localtime()
# 2017-08-07 같이 날짜만 문자열로 리턴
def getCurrentStrDate() :
return time.strftime("%Y-%m-%d")
# 2017-08-07 13:02:00 같이 날짜+시간을 문자열로 리턴
def getCurrentStrTime() :
return time.strftime("%Y-%m-%d %H:%M:%S")
# 2017-08-07 13:07 처럼 분까지만 리턴
def getCurrentStrMinTime() :
return time.strftime("%Y-%m-%d %H:%M" + ":00")
# 2017-08-07 13:02 처럼 현재 시간에서 5분전 시간을 문자열로 리턴
# beforeMin 에는 이전 몇 분이 들어간다. 예) getCurrentStrMinTimeAgo(5)
def getCurrentStrMinTimeAgo(beforeMin) :
return (datetime.datetime.now() - datetime.timedelta(minutes=beforeMin)).strftime("%Y-%m-%d %H:%M" + ":00")
# 2017-08-07 21:32:43.407 리턴
def getCurrentStrSecTime() :
t = getCurrentClock()
tmicsec = t - int(t)
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t)) + ".{:03d}".format(int(tmicsec * 1000))
# 2017-08-07 21 시간 까지 문자열로 리턴
def getCurrentPowerAllStrTime() :
return time.strftime("%Y-%m-%d %H")
# tTime : 입력된 초
# time.localtime([secs]) 입력된 초를 변환하여, 지방표준시 기준의 struct_time 을 리턴
# time.gmtime([secs]) 입력된 초를 변환하여 , UTC 기준의 STRUCT_TIME 시퀀스 객체 리턴
def getStrTime(tTime) :
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(tTime))
# tTime 2개의 입력된 초의 차를 초로 리턴
def getDiffTime2(tTime1, tTime2) :
return tTime2 - tTime1
# 현재 초와 tTime 초의 차를 초로 리턴
def getDiffTime(tTime) :
return getCurrentClock() - tTime
# 입력받은 날짜(정수)와 현재 날짜의 날수 차이 def getDiffDay(year,month, day): input_day = datetime.date(year,month,day) today = datetime.date.today() delta = today - input_day return delta.days
# 초를 입력으로 넣은 후에 해당 초에 해당하는 지방표준시의 시퀀스중에 nIdx 번째 값을 리턴한다. 순서는 아래와 같다.
# # time.struct_time(tm_year=2017, tm_mon=8, tm_mday=7, tm_hour=21, tm_min=36, tm_sec=9, tm_wday=0, tm_yday=219, tm_isdst=0)
def getDateTimeFromIndex(tTime, nIdx) :
return time.localtime(tTime)[nIdx]
# 초를 입력으로 넣은 후에 해당 초에 해당하는 지방표준시의 시퀀스들을 리스트로 가져온다..
# # time.struct_time(tm_year=2017, tm_mon=8, tm_mday=7, tm_hour=21, tm_min=36, tm_sec=9, tm_wday=0, tm_yday=219, tm_isdst=0)
def getClockElement(tTime) :
return [
getDateTimeFromIndex(tTime, 0),
getDateTimeFromIndex(tTime, 1),
getDateTimeFromIndex(tTime, 2),
getDateTimeFromIndex(tTime, 3),
getDateTimeFromIndex(tTime, 4),
getDateTimeFromIndex(tTime, 5)
]
# datetime 객체를 입력받아서 누적초로 리턴한다. 1502109843.0
def getTimeFromDateTime(dtTime) :
return time.mktime(dtTime.timetuple()) # + dtTime.microsecond / 1E6
# 년, 월, 일 을 숫자로 입력 받아서 완성된 누적초로 리턴
def getTimeFromEachValue(nYear, nMonth, nDay) :
return getTimeFromDateTime(datetime.date(nYear, nMonth, nDay))
# 누적초를 입력 받아서
#2017-08-07 21:49:35 같은 datetime.datetime 객체 리턴
def getDateTimeFromTime(tTime) :
return datetime.datetime.fromtimestamp(time.mktime(time.localtime(tTime)))
# 시간 문자열을 입력 받아서
#2017-08-07 21:49:35 같은 datetime.datetime 객체 리턴
def getDateTimeFromString(szTime) :
return datetime.datetime.strptime(szTime, "%Y-%m-%d %H:%M:%S")
#2017-08-07 21:49:35 같은 datetime.datetime 객체에 숫자로 일수를 더한 결과를 datetime 타입으로 리턴
def addDayToDateTime(dtTime, nDay) :
return dtTime + datetime.timedelta(days=nDay)
# datetime 타입을 입력해서 누적초를 리턴
def convertDatetimeToSec(dtTime) :
return dtTime.total_seconds()
time 모듈은 unix epoch time 이후로 초 단위로 취 한 부동 소수점 숫자로 표현 됩니다. datetime 모듈은 많은 동일한 작업을 지원하면서 더 많은 객체 지향 유형 세트를 제공하며 시간대에 대한 제한된 지원도 제공합니다.
'Python' 카테고리의 다른 글
데이터 분석에 피가 되는 itertools 익히기 (0) | 2017.04.12 |
---|---|
중급 파이썬 레퍼런스 (0) | 2017.02.07 |
Python 의 simplejson 사용하기 (0) | 2016.10.20 |
한장의 이미지로 배우는 파이썬 [펌] (0) | 2016.10.13 |
파이썬으로 클라우드 (병렬,분산) 하고 싶어요 (0) | 2016.09.14 |