나는 나머지에서 응답을 받고있는 것은 Epoch 시간 형식입니다.
start_time = 1234566
end_time = 1234578
그 에포크 초를 MySQL 형식 시간으로 변환하여 MySQL 데이터베이스에 차이점을 저장할 수 있습니다.
나는 시도했다 :
>>> import time
>>> time.gmtime(123456)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=10, tm_min=17, tm_sec=36, tm_wday=4, tm_yday=2, tm_isdst=0)
위의 결과는 내가 기대 한 것이 아닙니다. 나는 그것을 좋아한다
2012-09-12 21:00:00
어떻게하면 좋을까요?
또한, 이유는 무엇입니까 TypeError: a float is required
위해
>>> getbbb_class.end_time = 1347516459425
>>> mend = time.gmtime(getbbb_class.end_time).tm_hour
Traceback (most recent call last):
...
TypeError: a float is required
답변
시간 값 (float 또는 int)을 형식화 된 문자열로 변환하려면 다음을 사용하십시오.
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1347517370))
답변
당신은 또한 사용할 수 있습니다 datetime
:
>>> import datetime
>>> datetime.datetime.fromtimestamp(1347517370).strftime('%c')
'2012-09-13 02:22:50'
답변
>>> import datetime
>>> datetime.datetime.fromtimestamp(1347517370).strftime('%Y-%m-%d %H:%M:%S')
'2012-09-13 14:22:50' # Local time
UTC를 얻으려면 :
>>> datetime.datetime.utcfromtimestamp(1347517370).strftime('%Y-%m-%d %H:%M:%S')
'2012-09-13 06:22:50'
답변
이것이 당신이 필요로하는 것입니다
In [1]: time.time()
Out[1]: 1347517739.44904
In [2]: time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(time.time()))
Out[2]: '2012-09-13 06:31:43'
float
대신에 int
다른 것을 입력 TypeError
해야합니다.
mend = time.gmtime(float(getbbb_class.end_time)).tm_hour
답변
이 시도:
>>> import time
>>> time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(1347517119))
'2012-09-12 23:18:39'
또한 MySQL에서는 다음을 수행 할 수 있습니다 FROM_UNIXTIME
.
INSERT INTO tblname VALUES (FROM_UNIXTIME(1347517119))
두 번째 질문의 경우 아마도 getbbb_class.end_time
문자열 때문일 것입니다 . 다음과 같이 숫자로 변환 할 수 있습니다.float(getbbb_class.end_time)
답변
#This adds 10 seconds from now.
from datetime import datetime
import commands
date_string_command="date +%s"
utc = commands.getoutput(date_string_command)
a_date=datetime.fromtimestamp(float(int(utc))).strftime('%Y-%m-%d %H:%M:%S')
print('a_date:'+a_date)
utc = int(utc)+10
b_date=datetime.fromtimestamp(float(utc)).strftime('%Y-%m-%d %H:%M:%S')
print('b_date:'+b_date)
이것은 조금 더 장황하지만 유닉스의 날짜 명령에서 비롯됩니다.
답변
man gmtime 에서 처음으로 에포크에서 약간의 정보
The ctime(), gmtime() and localtime() functions all take an argument of data type time_t which represents calendar time. When inter-
preted as an absolute time value, it represents the number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal
Time (UTC).
신기원이 어떻게되는지 이해해야합니다.
>>> time.time()
1347517171.6514659
>>> time.gmtime(time.time())
(2012, 9, 13, 6, 19, 34, 3, 257, 0)
전달하는 인수 time.gmtime()
가 정수 인지 확인하십시오 .