2011-11-02 5 views
1

私はsudsでWebサービスを使用しようとしていますが、ここの誰かが私を助けてくれるかもしれないという問題を見つけました。sudsにナイーブな日時を使用させる

基本的に問題は、私たちが使用する具体的な方法では、サービスを停止する日付を判断するためにdateTimeオブジェクトを渡す必要があります。問題は、sudsが-4タイムゾーンスクリプトがホストされているコンピュータ)の文字列の最後に文字列を挿入しますが、プロバイダがこれを誤って解釈し、日付が早く1日遅れるように見えます。

私たちは以前PHPを使って単純な "dateTime"オブジェクト(基本的に "YYYY-mm-dd HH:mm:ss"のような文字列)を渡してみましたが、うまくいきます。問題。

実際の質問は、どうやって素朴なdateTimeオブジェクトを使用するか、別のタイムゾーンを使用するように強制できますか(サーバーにはUTCタイムゾーンが設定されていると思われます。すべてのあなたの助け

答えて

0

を事前に

おかげで、私はこのスレッドは非常に古代で実現しています。ただし、次のことを確認することができます。 https://fedorahosted.org/suds/ticket/353

Sudsはdatetimesの処理でかなり死んでいるようです。

1

私はこれで苦労しました。私はLib \ site-packages \ suds \ sax \ date.py行297行を編集しました。私はself .__ adjust()をコメントアウトしましたが、現在はタイムゾーンに基づいて時刻を調整しません。

if isinstance(date, basestring): 
     part = date.split('T') 
     Date.__init__(self, part[0]) 
     Time.__init__(self, part[1], 0) 
     self.datetime = \ 
      dt.datetime.combine(self.date, self.time) 
     # self.__adjust() 
     return 
    raise ValueError, type(date) 

私はなっていた "2013-04-16T23:00:00" と、今私は、正しい値が取得しています "2013-04-17T00:00:00"。

関連する問題