SOAP4R SOAPDateTime格式基于GMT

时间:2016-04-18 03:49:13

标签: ruby-on-rails ruby soap soap4r

App使用SOAP4r来使用API​​ / SOAP

但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

-Fransis

2 个答案:

答案 0 :(得分:2)

您的strftime的简单更改,您可以在Time#strftime的文档中找到更多信息

workerLogLevelOverrides

答案 1 :(得分:2)

似乎您的应用程序接受iso8601格式。您可以使用Time#xmlschema作为生成iso8601兼容字符串的快捷方式:

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

只需在示例中更改此行:

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