问题
I'm using QuickBooks Web Connector to pull employee records out of QuickBooks Desktop on a Windows 8.1 machine using QBXML requests. Is there a reason the TimeModified time stamps are returning an offset that does not account for Daylight Savings time? Is there a way to get the current time on the host system?
It is currently returning "2014-03-27T14:20:53-05:00" for TimeModified, even though the current timezone is set to Eastern Time with "Adjust for Daylight Savings Time" enabled. The offset should be -04:00.
The QBXML request:
<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="12.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<EmployeeQueryRq metaData="MetaDataAndResponseData">
<OwnerID>0</OwnerID>
</EmployeeQueryRq>
</QBXMLMsgsRq>
</QBXML>
回答1:
According to a moderator of the IPP community, this is a bug. Unfortunately we have no way of tracking it.
"QBWG-18389 - DST is not showing correctly in TimeCreated & TimeModified Fields ... We do not have a way to track these externally."
Incorrect TimeModified Offset - Intuit Partner Platform Community
回答2:
I have verified this bug even in QB 2019 :(
While not optimal, there is an easy workaround:
Check to see if the time is in the future. If it is, subtract one hour.
//Pseudocode
if (timeModified.after(now())
return timeModified.minus(oneHour)
else
return timeModified
This change would still work if the bug was ever fixed.
来源:https://stackoverflow.com/questions/22696003/quickbooks-web-connector-timemodified-offset-does-not-account-for-daylight-savin