【发布时间】:2011-07-14 13:07:37
【问题描述】:
我有一个应用程序,其中所有 DateTime 始终是服务器的时间。这意味着一个时区。这个想法是使应用程序在世界范围内兼容。第一步是将数据库中存储的所有日期时间转换为UTC,这没问题。第二步是为用户假设一个时区(基于业务逻辑),并将其用作显示和解析用户输入的默认值。此外,如果 DateTime.Now 之类的方法和其他在没有明确时区/地区信息的情况下构造日期时间的方法调用也可以假设这个时区/地区,那就太好了。
这个想法是从数据库中为用户假设一个时区。我有用户和他的时区,没问题。
问题是表示逻辑。代码中到处都有 DateTime.now 方法,要转换所有这些方法是很多工作。
为了避免这种情况,我需要一个全局时区设置,其中 DateTime 知道它是哪个时区。最好在一个通用的地方。
class business logic
InitializeCulture()
set time zone for user
end function
end class
class presentation logic
sample()
TimeOfTheCurrentUser = DateTime.now
end function
end class
【问题讨论】:
-
您的问题是什么,您使用什么语言/框架?
-
问题:如何实现第二步“第二步是为用户假设一个时区(基于业务逻辑),并用作显示和解析用户输入的默认值. 此外,如果 DateTime.Now 之类的方法和其他在没有明确时区/地区信息的情况下构造日期时间的方法调用也可以假设这个时区/地区,那就太好了。”语言/框架:VB .NET 3.5
标签: datetime timezone globalization business-logic region