Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 强制DateTime精确显示数据库中存储的内容,而不考虑时区_C#_Asp.net_.net_Date_Datetime - Fatal编程技术网

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()