ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dynamics CRM: Date and Time类型字段中各种不同behavior的区别

2021-10-01 16:02:14  阅读:151  来源: 互联网

标签:00 Zone 数据库 Only behavior Time Date


在Dynamics CRM的字段类型Date and Time中有三种不同给的behavior: User LocalDate OnlyTime-Zone Independent

下面我们就来说一下他们之间的区别。我们通过在一个实体中分别创建几种不同的Behavior来比较他们的区别:

1. User Local -- Format为Date Only

 2. User Local -- Format为Date and Time

 3. Date Only(它的格式只有Date only一种)

 4. Time-Zone Independent -- Format为Date Only

 5. Time-Zone Independent -- Format为Date and Time

我们创建一条记录并将他们的值设置为如下:

保存后,我们去数据库看下他们他们在数据库的值是什么:

 这里需要说明一下,我在CRM设置系统的时区设置是UTC + 8

 

 

通过比较我们能够发现他们的区别:

  • User Local -- Format为Date Only

前端只会显示日期不会显示时间,但是会把这个值默认为UTC + 8的时区,时间为1/19/2021 00:00:00.000,但是在数据库中会存储为UTC + 0的时间,也就是需要减掉8个小时,所以是2021-01-18 16:00:00.000,也就是数据库截图中的第三列

  • User Local -- Format为Date and Time

如果理解了上面的,就不难明白这个为什么在数据库中是2021-01-19 00:00:00.000,因为我们在前端界面设置的时间为1/19/2021 8:00 AM,系统默认为UTC + 8的时区,那么存储在数据库中的时间为UTC + 0,也就是减掉8个小时为2021-01-19 00:00:00.000,也就是数据库截图中的第四列

  • Date Only(它的格式只有Date only一种)

这种Date Only和Time-Zone Independent都是不区分时区的,也就是和时区无关的,可以理解为在前端填的是什么,数据库中记录的就是什么,无论你是什么时区。因为这个是Date Only的,所以前端不会显示时间,那么数据库就会记为2021-01-19 00:00:00.000,也就是数据库截图中的第一列

  • Time-Zone Independent -- Format为Date Only

同第三种一样,不区分时区,只显示日期,不显示时间,数据库记录为2021-01-19 00:00:00.000,也就是数据库截图中的第五列,通过尝试可以看出Behavior如果为Date Only和Time-Zone Independent的Date Only,那么它们在数据库的表现形式是一样的,并没有区别,在前端页面的显示也是相同的。

  • Time-Zone Independent -- Format为Date and Time

同样与时区无关,我们前端设置为1/19/2021 8:00 AM,那么数据库中就记为2021-01-19 08:00:00.000,也就是数据库截图中的第二列

如果用户不是多个时区的,这一块的差别是可以忽略的,很少有人会去关注他们在数据库中存储的值是什么,但是如果你需要写SSRS报表,需要直接从数据库中取数据,那么数据库和前端的差别就非常关键了,你需要知道Date and Time字段它的Behavior是什么类型,然后在报表中来决定是否需要换算,这些正是我最近在开发报表中所遇到的,所以大家如果有和我一样的情况,也请注意!

另外还需要说一下这三种Behavior的一个区别就是,一旦建了一个Date and Time字段,behavior是Date Only或者Time-Zone Independent,那么这个字段在保存后,它的Behavior就不能更改了;

但如果behavior是User Local的,那么即使保存后,也是可以更改的。如下图:

  • User Local

  •  Date Only

  •  Time-Zone Independent

 

标签:00,Zone,数据库,Only,behavior,Time,Date
来源: https://blog.csdn.net/hdjStone/article/details/120578308

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有