2017-02-06 10 views
-1

私はPythonには新しく、日付にいくつかの計算をしようとしています。開始日は、ここで見つけることができるswaggerインターフェイスから引き出されます。 https://esi.tech.ccp.is/latest/#!/Market/get_markets_region_id_ordersタイムスタンプに 'Datetime'オブジェクトを追加する

関連フィールドは「発行済み」フィールドです。現在、私はこのようにはtimedeltaを使用して、そのに追加しようとしています:

date = market_ops.data[i].issued completion_date = date + datetime.timedelta(days=int(market_ops.data[i].duration))

これはエラーを返します:unsupported operand type(s) for +: 'Datetime' and 'datetime.timedelta'

これは、「発行」オブジェクトはdatetime.datetimeのオブジェクトではありません意味しています、オブジェクトのいくつかの他のタイプ、または何か他の何かを間違っている?

+0

」 'datetime.datetime'がありますが、' Datetime'という名前のものがあります。 –

+0

どうかそのオブジェクトを検査する方法はありますか? 'python 'Datetime''を検索することは、この場合に期待されるのと同じくらい無駄です。 – FutureShocked

+0

'help(date)'を試して、それが手がかりを与えるかどうかを調べることができます。 –

答えて

1

datetime.timedeltaを追加する前に、文字列データをdatetime.datetimeインスタンスに変換する必要があると思います。これらの線に沿って

何か:計算completion_dateでの結果もタイプdatetime.datetimeのものであろうことを

date_string = market_ops.data[i].issued 
date = datetime.datetime.strptime(date_string[:10], '%Y-%m-%M') 
completion_date = date + datetime.timedelta(days=int(market_ops.data[i].duration)) 

注意。など

+0

あなたはそうです、それは私がやったこととほぼ同じです。私はちょうど私のソリューションを共有しようとしていた – FutureShocked

0
@martineauは以下示唆したように、私はちょうど闊歩プリミティブは「日時」オブジェクトを、文字列化するために必要な

、その後、strptime()結果の文字列:それは音あなたがドンのように実際にい

start_date = datetime.datetime.strptime(str(market_ops.data[i].issued)[0:19], 
               '%Y-%m-%dT%H:%M:%S') 
completion_date = start_date + datetime.timedelta(days=int(market_ops.data[i].duration)) 
関連する問題