我正在开发一个应用程序,面向的受众来自全球各地。我的开发平台是ASP.Net/Sql Server,目前它们都托管在同一台专用服务器上。
有可能将Sql Server移动到不同的服务器上,并将Web应用程序托管到不同的服务器上。两个服务器的时区可能不同。
目前我们正在开发阶段,并需要处理通用日期时间概念,而不是在后期进行争论。
我们的数据库当前结构如下所示,包含以下类型的datetime列:
DateTime(mm/dd/yyyy hh:MM:ss), SmallDateTime(仅保留日期部分mm/dd/yyyy 12:00:00), Varchar(仅保存24小时格式的hhMMss)
目前我们直接保存Sql Server的GetDate()、C#的DateTime.Now(即ASP.NET)、javascript datetime和任何其他日期。目前没有应用UTC转换或类似的功能。我们也没有存储任何时区或偏移量。
当我需要:
从UI调用存储过程将DateTime保存到数据库中
从存储过程向UI显示数据
从ASP.NET服务器向客户端浏览器显示数据
从客户端浏览器保存数据到ASP.NET服务器
请为每种情况提供一些代码示例,包括夏令时。