日期及时间字段的行为和格式

 

发布日期: 2017年2月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

在 Microsoft Dynamics 365 中,日期和时间数据类型在许多系统实体字段中使用。 例如,您可以显示客户市场营销活动中最后使用是什么时候,或案例升级的日期和时间。 您还可以创建包括日期和时间字段的自定义实体。 根据字段的表示,可以选择多个不同的字段行为:“用户当地时间”、“仅限日期”或“时区无关”。

本主题内容

日期及时间字段的行为和格式

设置托管属性来更改日期和时间行为

仅限日期示例:生日和纪念日

时区无关示例:酒店入住登记

日期和时间字段的特别注意事项

日期及时间字段的行为和格式

下表包含有关日期和时间字段的行为和格式的信息。

行为

格式

更改字段的行为

用户当地时间

备注

这是之前版本的所有日期和时间字段的行为。

  • 字段值在当前用户的当地时间中显示。

  • 在 Web 服务 (SDK) 中,这些值使用常见的 UTC 时区格式返回。

“仅限日期” - 或 - “日期和时间”

在“用户界面”(UI) 中,您可以将特定现成实体字段的行为从“用户当地时间”更改为“仅限日期”。 要获取实体和字段的列表,请参阅更新时将字段行为更改为“仅限日期”。 您可以将自定义实体字段的行为从“用户当地时间”更改为“仅限日期”或“时区无关”。

更改字段行为将影响字段行为更改后添加或修改的字段值。 数据库中的现有字段值仍然是 UTC 时区格式。 若要将现有字段值的行为从 UTC 更改为“仅限日期”,您可能需要借助开发人员以编程方式进行更改。详细信息:MSDN:转换数据库中的现有日期和时间值

警告

在更改日期和时间字段的行为之前,应查看字段的所有依赖项,如业务规则、工作流和计算或汇总字段,确保行为更改没有导致出现问题。 在更改日期和时间字段的行为后,您应该打开依赖于更改的字段的每个业务规则、工作流、计算字段和汇总字段,查看信息,然后保存记录以确保使用了最新的日期和时间字段的行为和值。 可以通过将“CanChangeDateTimeBehavior”托管属性设置为“False”来限制修改字段的行为。详细信息:设置托管属性来更改日期和时间行为

仅限日期

  • 时区的概念不适用于此行为。 字段值显示时不进行时区转换。

  • 值的时间部分始终为 12:00AM。

  • 值的日期部分按照 UI 和 Web 服务 (SDK) 中指定的方式存储和检索。

仅限日期

设置之后,“仅限日期”行为无法更改为其他类型。

时区无关

  • 时区的概念不适用于此行为。 字段值显示时不进行时区转换。

  • 日期和时间值按照 UI 和 Web 服务 (SDK) 中指定的方式存储和检索。

“仅限日期” - 或 - “日期和时间”

设置之后,“时区无关”行为无法更改为其他类型。

备注

若要创建类型为 DateTime 的字段并指定特定行为,请转到“设置” > “自定义” > “自定义系统” > “组件” > “实体”。 选择所需实体并选择“字段”。 在字段定义中,在“类型”下拉列表中选择“日期和时间”。

设置托管属性来更改日期和时间行为

可以控制日期和时间行为是否可以使用托管属性“可更改日期和时间行为”来更改。 如果想要允许字段行为更改,将属性设置为“True”,否则,将其设置为“False”。

备注

默认情况下,对于现成系统实体日期和时间字段,“可更改日期和时间行为”托管属性设置为“False”。 对于自定义日期和时间字段,属性设置为 True

要设置托管属性,请执行以下操作:

  • 转到“设置”>“自定义”。

  • 选择“自定义系统” > “组件” > “实体”,然后选择特定实体,然后选择“字段”。 选择字段。 在命令栏,选择“其他操作”,然后在下拉列表中,选择“托管属性”。

  • 在“设置托管属性”对话框中,选择“可更改日期和时间行为”属性并选择“True”或“False”。 选择”设置“保存设置。

以下屏幕截图显示日期和时间托管属性。

Set managed property for Date/Time field

仅限日期示例:生日和纪念日

仅限日期行为适用于不需要有关一天的时间和时区的信息的情况,如生日或纪念日。 使用此选择,全球所有 Dynamics 365 用户将看到完全相同的日期值。

例如,Kevin 和 Nancy 是 Contoso Corp 销售部的。Dynamics 365 中存储了她们的客户和销售数据。 凯文,位于纽约 (GMT-5),使用出生日期 4/1/1970 创建联系人记录,并将该记录分派给南希。 南希,位于西雅图 (GMT-8),于 3 月 31 日打开记录,由于时区未转换到她的当地时区,她将看到联系人的正确出生日期为 4/1/1970。 所有其他系统用户,不论位置在哪里,在打开联系人记录时都将看到出生日期为 4/1/1970

时区无关示例:酒店入住登记

如果不需要时区信息(如酒店入住登记时间),您可以使用此行为。 使用此选择,全球所有 Dynamics 365 用户将看到相同的日期和时间值。

例如,莉萨和丽贝卡为使用 Dynamics 365 跟踪预订的连锁酒店工作。 莉萨在西雅图 (GMT-8)。 丽贝卡在纽约 (GMT-5)。 某客户打电话给莉萨在该公司位于纽约的酒店预订客房。 莉萨将创建一个新的预订记录,将预期的入住时间设置为 12/10/2014 11:00 AM,然后保存记录。 该客户在预期时间到达位于纽约的酒店。 丽贝卡,在本地酒店前台,查看预订记录,看到预期入住时间为 12/10/2014 11:00 AM。 她欢迎该客户入住酒店。

日期和时间字段的特别注意事项

所有系统现成和自定义日期和时间字段默认支持早于 1900 的值

日期和时间字段支持早达 1/1/1753 12:00 AM 的值。

确保更改字段的行为后计算的和汇总字段有效

在更改计算字段或汇总字段的行为后,保存字段定义以确保字段仍然有效。 若要保存,请使用字段编辑器。 选择“设置” > “自定义” > “自定义系统” > “组件” > “实体” > “实体 X” > “字段”。 在字段的窗体中,选择“字段类型”下拉列表旁边的“编辑”按钮。 “详细信息:定义计算字段”和“定义汇总字段”。

更新时将字段行为更改为“仅限日期”

默认情况下,现成系统实体和自定义实体的“创建时间”和“修改时间”日期和时间字段设置为“用户当地时间”行为。 这些字段的“CanChangeDateTimeBehavior”托管属性设置为“False”。 您无法更改这些字段的行为。

默认情况下,以下现成日期和时间字段设置为“仅限日期”行为,“CanChangeDateTimeBehavior”托管属性设置为“False”。

字段名称

实体名称

纪念日

Contact

出生日期

Contact

截止日期

Invoice

预计 结束日期

Lead

实际截止日期

Opportunity

预计 结束日期

Opportunity

最终决策日期

Opportunity

有效期的开始日期

Product

有效期的结束日期

Product

结束日期

Quote

到期时间

Quote

“仅限日期”行为不支持的日期和时间查询运算符

以下与日期和时间相关的查询运算符对“仅限日期”行为是无效的。 时区不会转换,时间始终设置为 12:00 AM。 当这些运算符之一用于查询时,会引发无效运算符异常错误。

  • X 分钟以前

  • X 小时以前

  • 最近 X 小时

  • 今后 X 小时

这适用于 UI 的以下位置:

  • 高级查找

  • 已保存的视图编辑器

  • 在对话中查询 Dynamics 365 步骤

  • Outlook 客户端脱机筛选器编辑器

  • 报表向导

  • 在“高级查找”中的列中的自定义筛选器

在解决方案导入过程中,日期和时间字段行为将更改

如果您导入非托管解决方案或负责字段的托管解决方案,在解决方案导入过程中,您只能将日期和时间字段的行为从“用户当地时间”更改为“仅限日期”或“时区无关”。

另请参阅

创建和编辑字段
定义计算字段
MSDN:日期及时间属性的行为和格式

© 2017 Microsoft。 保留所有权利。 版权