ruby soap datetime最后添加了Z.

时间:2009-08-27 10:40:03

标签: ruby-on-rails ruby

我对ruby有一些奇怪的行为。

在rake文件中,我将日期传递给soap方法。在响应中,它在日期结束时附加Z.

在lib文件中,同样的事情,相同的要求,它没有。

我需要它没有的情况。它执行相同的。

它可能是什么?

      <n1:startDate>2009-08-18T00:00:00-05:00Z</n1:startDate>
      <n1:endDate>2009-08-26T00:00:00-05:00Z</n1:endDate>

3 个答案:

答案 0 :(得分:2)

末尾的字母是时区的指标(在本例中为UTC)。时间戳采用ISO8601格式(现在几乎是所有互联网上的标准),所以我不确定你为什么要这样做。

如果没有看到生成它的代码,我不确定我能提供什么。为什么没有'Z'你想要它?

答案 1 :(得分:0)

你有一个ISO 8601格式的日期,Z表示'Zulu'时间或UTC,但不确定为什么你会得到不同的格式。

答案 2 :(得分:0)

我正在访问不支持此ISO标准的API。日期最后不应该有Z.但是当构建soap响应时,它会添加它。我不会把它发送给那个Z ..因为我将它传递给网络方法。

这是代码

 factory = SOAP::WSDLDriverFactory.new(WSDL_STATS)
  driver = factory.create_rpc_driver
  driver.wiredump_dev = STDOUT

  response = driver.getAllLeads({"pubID" => AFF_ID_TEST, "startDate" => start_date, "endDate" => end_date})

传递的结束日期,尝试了各种..不是来自区域,最后是Z.

如果我覆盖了区域方法,也许它会起作用,但我不想这样做。

<n1:startDate>2009-08-18T00:00:00-05:00Z</n1:startDate>
  <n1:endDate>2009-08-26T00:00:00-05:00Z</n1:endDate>

我在没有Z的情况下传递日期,但是当构造肥皂时,Z会以某种方式添加。

这就是我想要的

<n1:startDate>2009-08-18T00:00:00-05:00</n1:startDate>
  <n1:endDate>2009-08-26T00:00:00-05:00</n1:endDate>

谢谢;)