2009-09-04 2 views
1

아래에 표시된 코드에서, 파이썬에서 시각 var를 조작하여 파이썬에 날짜/시간 스탬프를 표시하여 지연을 나타낼 필요가 있습니다.파이썬에서 시간 조작하기

예를 들어 사용자가 지연 시간을 몇 시간으로 입력하면 jcarddeliver var을 현재 날짜/시간 + 지연의 값으로 업데이트하도록 설정해야합니다.

또한 var도 업데이트해야합니다. 날짜 24 년 2 월이고 시간 15:00 시간과 지연 시간이 10 시간 인 경우 난 그냥 감각을 만드는 중이라서 희망

jcarddate = time.strftime("%a %m/%d/%y", time.localtime()) 
jcardtime = time.strftime("%H:%M:%S", time.localtime()) 
delay = raw_input("enter the delay: ") 
jcarddeliver = ?? 

2월

(25)에 예를 들어, jcarddeliver 날짜는 변경해야합니다.

답변

3

당신은 날짜 모듈을 시도, 예를 들어, 수 :이 값에 초를 추가하고 다양한 형태의 결과를 얻을 수 time.localtime(), time.ctime() 및 기타 기능을 사용할 수 있습니다

import datetime 
now = datetime.datetime.now() 
delay = float (raw_input ("enter delay (s): ")) 
dt = datetime.timedelta (seconds=delay) 
then = now + dt 
print now 
print then 
+0

내가보기에는 now와 then 변수가 print 모듈을 사용하여 올바르게 표시 될 수 있습니다. 이 값을 DB에 전달해야한다면 어떻게 될까요? 그것은 나를 문자열 형식으로 변환하는 동안 모든 인수가 변환되는 오류를 제공합니다. – amit

+0

위 예제에서 변수 'now'와 'then'은 datetime 객체입니다. 인쇄하면 문자열로 변환됩니다. 정말로 문자열을 원하면 str() 함수를 사용해보십시오. str (지금). 물론 now.year, now.month 등을 사용할 수도 있습니다. 자세한 내용은 http://docs.python.org/library/datetime.html을 참조하십시오. –

0

어떻게

jcarddeliver이를 재구성하는 것은 현재의 날짜 - 시간이어야에 대해 플러스 "나는 현재 날짜/시간 + 지연의 값 자체를 업데이트 할 jcarddeliver의 VAR를 설정해야합니다" 지연.

"업데이트 자체"는 완벽하게 의미가 없습니다.

는 다음과 같은 시도 :

  1. 는 "현재 날짜 - 시간 플러스 지연"

  2. 인쇄 결과를 계산하는 가장 확실한 방법을 사용해보십시오.

  3. 이 결과에 localtime()을 사용해보세요. 너는 무엇을 얻 느냐?

1

time.time()의 결과는 에포크 (초)의 부동 소수점 값이다.

>>> now = time.time() 
>>> time.ctime(now) 
'Fri Sep 04 16:19:59 2009' # <-- this is local time 
>>> then = now + (10.0 * 60.0 * 60.0) # <-- 10 hours in seconds 
>>> time.ctime(then) 
'Sat Sep 05 02:19:59 2009' 
+0

나는'datetime.timedelta 이후 브라이언의 솔루션 (http://stackoverflow.com/questions/1381315/manipulating-time-in-python/1381769)를 사용하는 것()'사용법이 상당히 명확합니다. –

0

이 시도 :

now = time.time() 
then = now + 365*24*3600 
print time.strftime('%Y-%m-%d', time.localtime(then)) 
관련 문제