我对 Force.com API 中的会计日期文字有疑问(http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_soql_select_dateformats.htm):

日期范围是针对哪个时区计算的?

例如,假设我们执行查询:

从机会中选择 ID,其中 CloseDate = THIS_FISCAL_QUARTER

其中,根据我们公司的财务设置,THIS_FISCAL_QUARTER 的运行时间为 1 月 1 日至 3 月 31 日。

THIS_FISCAL_QUARTER 的范围是否使用...

  • 用户的时区?例如,如果用户的时区是 GMT-8,则 THIS_FISCAL_QUARTER = Jan 1 00:00 GMT-8 到 Mar 31 23:59 GMT-8(或 Jan 1 08:00 UTC 到 Mar 31 07:59 UTC)
  • 公司的默认时区(根据公司简介)?例如,如果公司的默认时区为 GMT-8,则 THIS_FISCAL_QUARTER = Jan 1 00:00 GMT-8 至 Mar 31 23:59 GMT-8(或 Jan 1 08:00 UTC 至 Mar 31 07:59 UTC)
  • 世界标准时间?THIS_FISCAL_QUARTER = 1 月 1 日 00:00 UTC 至 3 月 31 日 23:59 UTC
  • 还有别的东西吗?
有帮助吗?

解决方案

根据我的经验(报告的乐趣,而不是查询),底部的注释对于时间文字也有效。因此它使用运行用户的时区设置。

这些值会根据您的时区进行偏移。例如,在太平洋时区,最早的有效日期是 1699-12-31T16:00:00,即 1699 年 12 月 31 日下午 4:00。

也许您可以简单地创建一个测试记录,其中日期时间字段稍稍超出财政季度并查询“WHERE mydatetimefield__c > THIS_FISCAL_QUARTER”?

也可以看看 http://forums.sforce.com/t5/General-Development/SOQL-Date-literal-TODAY-is-evaluated-in Correctly/m-p/43607

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top