更大我有具有 「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日期和時間值忽略前時間偏移值與我不得不考慮時間偏移值。
這是一個錯誤嗎? 或者這是一個永久的改變?
軟層數據庫中的數據使用Dallas時區保存,Api顯示的數據被轉換爲爲使用Api的特定用戶配置的時區。因此,如果獲取發票的用戶具有不同的時區,則需要考慮查詢中的差異。我的問題是:您確定所有調用get invoice的用戶都擁有相同的時區-5嗎? –
我很抱歉,但這種邏輯沒有多大意義。所以我必須知道每個客戶是哪個時區並調整查詢?請用例子來解釋。我使用的客戶位於美國東部地區,我必須在API調用中使用-5小時。美國中部時區的另一位同事在美國中部使用一名客戶也不得不用-5來獲得預期的結果。請更詳細地解釋,這是一個新的變化,這是一個永久的變化? – KHP
它總是這樣工作的,我沒有聽到有關這方面的任何更改,所以您確定使用該API的用戶在其用戶配置文件中配置了相同的時區(https://control.softlayer.com/account/user/profile)對不對?您可能會遇到問題,因爲那裏的時區已更改。 –