Salesforce関連の記事を書いています。

  1. Salesforce

Salesforce 流程中的日期和时间处理以及 UTC/JST 差异的影响。

在使用 Salesforce 流程自动执行操作时,日期和时间经常被用作检索数据的条件。但是,Salesforce 在系统内以 UTC(协调世界时)管理日期和时间信息,因此以日本时间 (JST) 指定条件可能会产生意想不到的结果。本文将解释 UTC 和 JST 之间的差异,您在根据流程中的日期和时间获取数据时应注意这些差异。

1. Salesforce 中日期和时间管理的基础知识

Salesforce DateTime 类型字段在内部以**UTC(协调世界时)**存储,在 Salesforce 中有时称为 “GMT”,但从技术上讲,UTC 才是正确的表示法。

当用户在用户界面上输入日期和时间时,Salesforce 会根据用户的时区设置调整显示。例如,如果日本用户输入 “2025/09/06 10:00″,Salesforce 内部会将其存储为 “2025/09/06 01:00 UTC”。

换句话说,用户的时区显示和内部存储的时间是有区别的,这一点很重要。

要点

  • 日期类型项目:不受时区影响
  • 日期时间类型项目:以 UTC 保存,并在显示时转换为用户的时区(这就是我们在这里讨论的内容)
  • 时间类型项目:不受时区影响

2. 流程中 “获取元素(获取记录)”的注意事项

在 Salesforce 流程中使用 “获取元素 “检索受日期和时间限制的记录时,很容易出现问题。

示例:获取特定时间段记录的情况

当您要检索日本标准时间 “2025/09/06 10:00-15:00 “之间创建的记录时:

日本标准时间

日本标准时间 10:00 → 美国中部时间 01:00
日本标准时间 15:00 → 美国中部时间 06:00

流程中的实际条件如下

创建日期 >= 2025/09/06 01:00:00Z AND 
创建日期 <= 2025/09/06 06:00:00Z

如上图所示,日本标准时间和世界协调时间相差 9 个小时,导致无法检索到预期时间段内的记录。请务必使用调试功能检查是否能检索到目标时区的记录。

4. 对策

(1) 使用日期类型字段和 DATEVALUE 函数

如果您想以 “日期单位 “获取记录,而不用担心日期/时间的时间部分,可以使用

DATEVALUE(CreatedDate) = TODAY()

这种方法可以将日期准确地确定为用户时区的今天

(2) 利用公式资源进行时区转换

在最多指定一个时间时,使用公式资源明确执行时区转换。

公式示例:将 JST 时间转换为 UTC

datetimevalue("2025-09-06 10:00:00") - time(9, 0, 0, 0)

5. 需要注意的情况

计划触发流程

每天午夜触发的计划流程根据创建流程的用户所在的时区执行。如果流程是由日本用户创建的,则将在日本标准时间午夜运行。

6. 最佳实践

推荐的设计模式

  1. 仅日期条件:使用DATEVALUE() 函数
  2. 包含时间的条件:在公式资源中进行显式时区转换
  3. 测试:对不同时区的用户进行测试

代码示例:创建安全的日期/时间条件

公式资源示例

今天的开始时间(将 JST 00:00 转换为 UTC)
datetimevalue(text(today()) " 00:00:00") - time(9, 0, 0, 0)

今天的结束时间(从日本标准时间 23:59 转换为世界协调时)  
datetimevalue(text(today()) " 23:59:59") - time(9, 0, 0, 0, 0)

7. 总结。

在 Salesforce 流程中以日期和时间为条件检索记录时,必须牢记以下几点:

要点。

  1. Salesforce 内部以 UTC 管理 DateTime 类型字段
  2. 在 JST 中设置条件时,要考虑到与 UTC 的时差(-9 小时)
  3. 使用 DATEVALUE 函数获取日期单位
  4. 在公式资源中明确转换涉及时间的条件

通过实践,可以大大减少获取错误和意外行为。

Salesforce recent post

  1. Salesforce 流程中的日期和时间处理以及 UTC/JST 差异的影响。

  2. Salesforce 输入规则为 “禁止使用半角片假名 “+…

  3. 如何检索相关列表的文本并将其存储到 Salesforce 中的项目中。

  4. 如何通过设置自动的 Salesforce 协商名称命名规则来提高操作效率。

  5. 如何自动锁定已关闭的商务会议

関連記事

PAGE TOP