对微软CRM日期保存格式的分析

一次在跟踪实施顾问的PlugIn代码时,发现其日期栏位都比窗体上所看到的,统统少了一天。比如窗体上是“2012-11-20”,在代码中就变成了“2012-11-19 16:00”。真是奇怪。
  联系到我们公司所代表的甲方,正在严厉催促实施方重设周数的起止日。即由西方所默认的周日到周六为一周,改为我们中国人所习惯的从周一到周日为一周。结合这种背景,我们认为可能是实施方在逼迫之下,才被迫做出了这种用代码人工加减天数,以实现我们周报要求的无奈之举。
  但是实施方对此矢口否认,坚称这是微软本身的设计。为了验证他的说法,我作了两次对比:
  第一步,是对我们公司同事所写的费用报销单进行对比:
  Select linkz_date From FilteredHello_Expense  --日期为:2012-11-20
  Select linkz_date From linkzHello_Expense     --日期为:2012-11-19 16:00
  Select linkz_date From linkzHello_ExpenseExtensionBase --日期为:2012-11-19 16:00
  第二步,是对实施顾问所写的日报进行对比:
  Select linkz_date From FilteredHello_Daily  --日期为:2012-11-20
  Select linkz_date From linkzHello_Daily     --日期为:2012-11-19 16:00
  Select linkz_date From linkzHello_DailyExtensionBase --日期为:2012-11-19 16:00
  现在可以肯定了:顾问说得没错。是微软CRM进行了一次日期转换.
  它在窗体中所显示的,和在底部的,是不一样的日期,中间差的8小时,就是UTC日期。但是最误导人的是,微软CRM把视图的和底部表格的日期栏位都命名成了同一个,而真正的日期栏位在视图中加了一个UTC的后缀。搞不清情况的我们,在里面转了好多圈。


你可能感兴趣的:(crm,crm,微软)