识别纯日期时间 (GMT/BST) 和 UTC 之间的相互转换

Identify and inter conversion between plain date times (GMT/BST) to UTC

我有一个遗留系统(SQL 服务器数据库),它以纯日期时间格式保存日期。 还有一个 MS Dynamics CRM 系统,用户可以交互并将数据插入 CRM 数据库。数据从遗留系统流向 CRM。

问题是 CRM 认为所有来自遗留系统的数据都是 UTC 格式,实际上它是 GMT 和 BST 纯日期时间值的组合。 这会导致某些事务超时一个小时。

我该如何解决这个问题?

我能想到的一种解决方案是,确定日期是否属于 BST,从中减去一小时并提供给 CRM。 由于 BST = GMT + 1 小时并且 GMT 和 UTC 可能相同,认为这可能会解决问题。

我不确定我是否已经排除了这个问题的所有可能问题。

是否有任何替代方法?

处理差异并将 UTC 时间戳发送到 CRM 工作正常。

或者,您可以在遗留系统中合并一个新的 UTC 字段,它可以用作偏移值,以便在两个系统之间同步。