Datetime 在哪里进行转换-时区、度量单位等

Datetime 在哪里进行转换-时区、度量单位等,datetime,units-of-measurement,timezone,Datetime,Units Of Measurement,Timezone,应该在代码中的什么位置进行转换?客户机、服务器、业务还是数据库 目前,我们在数据库中进行时区和度量单位的转换,性能让我们疲于奔命,我们希望改变逻辑。你认为这里的最佳位置在哪里 谢谢通常这些都是客户端/UI选项。但该首选项可以传递给服务器或业务规则 我会在客户机中这样做,以规范化其他地方的数据 编辑: 如果您有一个非常瘦的客户机,并且不想向其添加逻辑,那么请找到下一个有代码/规则/等等的地方,并将它们添加到那里。找到最外层/客户端代码并将其与之一起使用。我们正试图“尽可能早地”执行这些操作(在我们

应该在代码中的什么位置进行转换?客户机、服务器、业务还是数据库

目前,我们在数据库中进行时区和度量单位的转换,性能让我们疲于奔命,我们希望改变逻辑。你认为这里的最佳位置在哪里


谢谢

通常这些都是客户端/UI选项。但该首选项可以传递给服务器或业务规则

我会在客户机中这样做,以规范化其他地方的数据

编辑:


如果您有一个非常瘦的客户机,并且不想向其添加逻辑,那么请找到下一个有代码/规则/等等的地方,并将它们添加到那里。找到最外层/客户端代码并将其与之一起使用。

我们正试图“尽可能早地”执行这些操作(在我们的情况下,它是客户端连接的地方),并在服务器上端到端地使用统一数据。当然,当返回时,数据会被适当地转换。

我不确定你所说的“转换”是什么意思。如果你指的是本地化,那么这通常是在GUI层中完成的。

我肯定会从数据库中获取这些代码。您希望尽可能将所有数据存储在一组通用单位中。将时间数据存储在一个特定区域(通常是您自己的区域)是很常见的

我也不会把它放在业务层,因为这样你会遇到这样的情况:你必须使用来自不同地区的时间进行计算,并且你需要它们具有相同的起始引用。同样,你应该把它们放在一个共同的基础上,这里最合乎逻辑的事情就是让这个基础成为你存储它们的任何地方


我认为最合乎逻辑的做法是在显示时间之前的最后一刻将时间转换为用户的区域设置。这将它牢牢地放在GUI层。

绝对同意。还要确保跟踪用户和(工作人员)的首选时区/偏移,以便转换回其本地时间。我总是建议UTC/GMT作为基准区。我同意UTC/GMT的建议。有一个标准可以真正帮助集成应用程序。同意-所有日期时间都应该作为UTC存储和传输,并且只有在需要时才转换。我必须维护一次代码,在那里存储时间并发送不同的时区,计算持续时间等是一场噩梦+1.