2009-09-04 11 views
1

以下のコードでは、pythonでtimeのタイムスタンプを表示して、その遅延を表すpythonの時刻varを操作する必要があります。Pythonの時間を操作する

たとえば、ユーザーが遅延時間を数時間入力すると、jcarddeliver varを現在の日付/時刻+遅延の値で更新するように設定する必要があります。

また、日付varも更新する必要があります。日付が2月24日及び時間は15時00時間である遅延時間が10時間である場合、例えば、jcarddeliver日は、私はちょうど私が意味を作っています願って

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にこれを再定式化について、「私は、現在の日付/時間+遅延の値を使用して自身を更新するjcarddeliverのVARを設定する必要がある」

答えて

3

あなたはdatetimeモジュールを試してみてください、例えばでした:あなたは、この値に秒を追加し、さまざまな形で結果を得るために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'は日時オブジェクトです。それらを印刷すると文字列に変換されます。実際に文字列が必要な場合は、str()関数を試してみてください。 str(今)。もちろん、now.year、now.monthなどを使用することもできます。詳細については、http://docs.python.org/library/datetime.htmlを参照してください。 –

0

方法は、現在の日時を加えなければなりませんディレイ。

「更新自体」は完全に賢明ではありません。

は、次の試してみてください。

  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)) 
関連する問題