2016-08-23 53 views
0

更大我有具有 「CREATEDATE」 值的SoftLayer發票 「2016-08-23T14:21:29-05:00」。 (**注意5小時抵消)。清單SoftLayer的發票不是一個日期和時間

我用SoftLayer_Account :: getInvoices() API設置如下圖所示的對象過濾器:

$filter = new stdClass(); 
$filter->invoices = new stdClass(); 
$filter->invoices->createDate = new stdClass(); 
$filter->invoices->createDate->operation = 'greaterThanDate'; 
$filter->invoices->createDate->options = array(); 
$filter->invoices->createDate->options[0] = new stdClass(); 
$filter->invoices->createDate->options[0]->name = 'date'; 
$filter->invoices->createDate->options[0]->value = array($searchDateTime->format('m/d/Y H:i:s')); 
$slClient->setObjectFilter($filter); 
$result = $slClient->getInvoices(); 

它曾經是我在這個查詢中指定的日期,我可以添加5小時時,時間偏移到createDate中顯示的日期和時間,並仍然獲得此發票。 (即我會查詢日期大於「2016-08-23T19:21:00」,結果中包含「2016-08-23T14:21:29-05:00」的「createDate」值的發票) 。

但我注意到從2016年8月22日開始,我必須從通常的查詢日期和時間中減去5小時的時間偏差,以便在結果中顯示相同的發票。 (即,現在我必須查詢大於「2016-08-23T14:21:00」的日期,以便將「createDate」值爲「2016-08-23T14:21:29-05:00」的發票設置爲包括在結果。

你看到有什麼區別?我希望我是明確的行爲改變的描述。
現在我不得不使用CREATEDATE日期和時間值忽略前時間偏移值與我不得不考慮時間偏移值。

這是一個錯誤嗎? 或者這是一個永久的改變?

+0

軟層數據庫中的數據使用Dallas時區保存,Api顯示的數據被轉換爲爲使用Api的特定用戶配置的時區。因此,如果獲取發票的用戶具有不同的時區,則需要考慮查詢中的差異。我的問題是:您確定所有調用get invoice的用戶都擁有相同的時區-5嗎? –

+0

我很抱歉,但這種邏輯沒有多大意義。所以我必須知道每個客戶是哪個時區並調整查詢?請用例子來解釋。我使用的客戶位於美國東部地區,我必須在API調用中使用-5小時。美國中部時區的另一位同事在美國中部使用一名客戶也不得不用-5來獲得預期的結果。請更詳細地解釋,這是一個新的變化,這是一個永久的變化? – KHP

+0

它總是這樣工作的,我沒有聽到有關這方面的任何更改,所以您確定使用該API的用戶在其用戶配置文件中配置了相同的時區(https://control.softlayer.com/account/user/profile)對不對?您可能會遇到問題,因爲那裏的時區已更改。 –

回答

0

我做了一些測試,我能夠重現這個問題,這似乎是一個錯誤,你能提交一張票?無論如何,我會繼續調查這件事。我會讓你知道任何消息。

+0

機票31897627已打開。請有人儘快解決這個問題。我們有一種產品使用它來檢測新發票並生成賬單,並且在這個問題中,客戶可能不會收到一些發票的賬單。 – KHP

相關問題