C# 强制DateTime精确显示数据库中存储的内容,而不考虑时区
我们在一个表中有一个C# 强制DateTime精确显示数据库中存储的内容,而不考虑时区,c#,asp.net,.net,date,datetime,C#,Asp.net,.net,Date,Datetime,我们在一个表中有一个DateTime列,其中存储了从UI下拉列表中选择的日期 我们正在使用默认日期时间保存它。未指定 所以在数据库中它是这样存储的 现在的问题是,我们希望在客户机中按原样显示此日期时间,这意味着无论时区如何,都要按原样显示此日期时间 因此,目前我们所做的只是从数据库中获取datetime值并修剪00:00:00,但不知何故,我们遇到了一个问题,即它在不同时区的客户机中显示不同,例如在-2时区中,它显示落后一天 你知道我们该怎么做吗?将数据库列更改为datatimeoffse
DateTime
列,其中存储了从UI下拉列表中选择的日期
我们正在使用默认日期时间保存它。未指定
所以在数据库中它是这样存储的
现在的问题是,我们希望在客户机中按原样显示此日期时间,这意味着无论时区如何,都要按原样显示此日期时间
因此,目前我们所做的只是从数据库中获取datetime值并修剪00:00:00,但不知何故,我们遇到了一个问题,即它在不同时区的客户机中显示不同,例如在-2时区中,它显示落后一天
你知道我们该怎么做吗?将数据库列更改为datatimeoffset不是此选项。我们只想强制它按原样显示。DateTime类具有一些可以调整显示的属性,如:
DateTimeKind.Utc
或
在您的情况下,我认为您只需在将日期发送到显示器之前,将其以UTC格式输入即可
见这个问题:
文件:
已保存DateTimeKind.Unspecified的现有记录如何?如何按原样检索它?类似于
DateTime varDisplayed=newdatetime(OC.DateCompleted,DateTime.Utc)代码>。。。OC
是您的数据库对象吗?另外,您希望在将它们发送到web页面之前在后端C#code中更改它们,还是在将它们发送到web前端之后,您正在寻找更多的代码,如html和javascript?
DateTime d = DateRetreived.ToUniversalTime()