4

アプリは API/SOAP を使用するために SOAP4r を使用します

しかし、SOAP::SOAPTimeFormat は 2015-11-15T16:59:521468.7999999999999545-04:00 を返しています

chkout.add('purchasedDt ', SOAP::SOAPDateTime.new(basket.purchase_Date))

strftime('%Y-%m-%dT%H:%M:%S') を使用すると、次の結果が得られます

chkout.add('purchasedDt ', SOAP::SOAPDateTime.new(basket.purchase_Date.strftime('%Y-%m-%dT%H:%M:%S')))

2015-11-15T16:59:52Z

アプリが必要とするのは
2015-11-15 16:59:52 -0400 です アドバイスしてください ...yyyy-mm-ddThh:mm:ss-/+gmt の形式が必要です

-フランシス

4

2 に答える 2

2

アプリケーションが iso8601 形式を受け入れるようです。Time#xmlschemaiso8601 互換の文字列を生成するためのショートカットとして使用できます。

basket.purchase_Date.xmlschema
#=> "2015-11-15T16:59:52-04:00"

あなたの例でこの行を変更するだけです:

chkout.add('purchasedDt ', SOAP::SOAPDateTime.new(basket.purchase_Date.xmlschema))
于 2016-04-27T21:21:53.677 に答える
2

strftime を簡単に変更すると、 Time#strftimeのドキュメントで詳細を確認できます。

basket.purchase_Date.now.strftime('%Y-%m-%d %H:%M %z')
=> "2016-04-26 22:48 -0400"
于 2016-04-27T20:50:19.193 に答える