1

開発には python/Zope を使用しています。現在、ファイルの1つで日付オブジェクトを「%m-%d-%Y」の形式にフォーマットしています。コードを以下に示します

if resultSet :
   for eachResult in resultSet :
      DateTime(eachResult['txntime']).strftime("%m-%d-%Y")

これにより、次のエラーが発生します。

 File "Script (Python)", line 37, in CronJobFindUnmatchedTransfer_v2_1

 File "/opt/zope-2.7/lib/python/DateTime/DateTime.py", line 750, in __init
   s,d = _calcSD(t)
 File "/opt/zope-2.7/lib/python/DateTime/DateTime.py", line 331, in _calcSD
   d = dd / 86400.0

私はこれについて何の考えも持っていませんでした。誰か私を助けてください..

4

1 に答える 1

4

そのクラスでサポートされていないDateTime()値をコンストラクターに渡しています。あなたが何を渡しているのかは不明です。

__traceback_info__Zope では、例外のトレースバックを報告する (ログに書き込み、エラー ビューに渡す) 場合、各スタックを出力するときに、その名前を持つ任意のローカル変数が含まれます。これは、ログに記録された例外にデバッグ情報を含めるために使用されます。

これを使用して、渡す値を追跡しますDateTime()

if resultSet:
   for eachResult in resultSet:
      __traceback_info__ = (eachResult['txntime'],)
      DateTime(eachResult['txntime']).strftime("%m-%d-%Y")

Zope をフォアグラウンド モード (bin/instance fgまたはzopectl fg、使用しているバージョンとインストール方法に応じて) で実行し、トレースバックが stderr にダンプされるのを監視します。eachResult['txntime']トレースバックに含まれる値を持つ余分な行があります。

于 2012-12-03T07:16:52.753 に答える