6

QBXML 要求を使用して、QuickBooks Web Connector を使用して、Windows 8.1 マシン上の QuickBooks デスクトップから従業員レコードを取得しています。TimeModified タイム スタンプが夏時間を考慮しないオフセットを返す理由はありますか? ホストシステムで現在の時刻を取得する方法はありますか?

現在のタイムゾーンが「夏時間に合わせて調整」を有効にして東部時間に設定されているにもかかわらず、TimeModified に対して「2014-03-27T14:20:53-05:00」を返しています。オフセットは -04:00 にする必要があります。

QBXML リクエスト:

<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="12.0"?>
<QBXML>
  <QBXMLMsgsRq onError="stopOnError">
    <EmployeeQueryRq metaData="MetaDataAndResponseData">
      <OwnerID>0</OwnerID>
    </EmployeeQueryRq>
  </QBXMLMsgsRq>
</QBXML>
4

3 に答える 3

1

このシナリオを処理する ac# ライブラリを作成しました。オープンソースです。

https://github.com/jsgoupil/quickbooks-sync

このバグの修正に長い時間を費やした後、この解決策を思いつきました

QuickBooks は、夏時間 (DST) を適切に処理しません。このライブラリの DATETIMETYPE クラスはこの問題を認識しており、一般的な使用例でオフセット値を削除することにより、QuickBooks からのタイムスタンプを修正します。

内部的に、QuickBooks は DST 中に誤った日時オフセットを返します。したがって、QuickBooks は、QuickBooks がインストールされているコンピューターのタイム ゾーンで、同じ誤ったオフセットまたはオフセットなしの日付時刻を送信することを期待しています。

于 2020-04-08T05:50:25.390 に答える