asp.net时间戳问题
这是我从asp.net 2.0 webform存储记录信息的代码asp.net时间戳问题,asp.net,Asp.net,这是我从asp.net 2.0 webform存储记录信息的代码 scmd.Connection = scon; //Connection string SqlParameter p = scmd.CreateParameter(); recodName = txtrecordname.Text; //form field todaysdate = DateTime.Parse(txtFrom.Text);
scmd.Connection = scon; //Connection string
SqlParameter p = scmd.CreateParameter();
recodName = txtrecordname.Text; //form field
todaysdate = DateTime.Parse(txtFrom.Text);
DateTime now = DateTime.UtcNow;
AddParameters("@record", recodName); //adding parameter to stored procedure
AddParameters("@date", todaysdate);
AddParameters("@timeinfo", now);
scmd.CommandText = "sp_InsertRecord";
scmd.CommandType = CommandType.StoredProcedure;
scon.Open();
int i=scmd.ExecuteNonQuery();
if (i > 0)
{
result.Text = "Record Inserted RecordName : " + recodName; //Label displaying recordinfo
dateinfo.Text = "Record inserted on (TimeStamp Info) : " + now; //label displaying time info when user inserted record
}
GridView1.DataBind();
此web应用程序托管在服务器上,其时区为(UTC+05:30)新德里孟买加尔各答钦奈,
现在,来自另一个系统的用户访问时区为(UTC+01:00)西非的应用程序,
正如您所看到的,我插入了“datetime now As Utcnow”,但当用户查看插入的记录时,它必须是本地datetime格式
i、 e
dateinfo.Text=“时间戳信息:”+现在//此标签当前应显示本地时间信息。它显示承载应用程序的服务器本地时间
Thanxs要获得任何帮助,请使用javascript获取客户端系统中的当前时间,并将其放入javascript变量中。 如何操作可在此处找到:
然后将javascript变量值分配给隐藏字段变量,并在服务器端访问它。 如何访问代码隐藏中的javascript变量
现在您的服务器变量中有了客户机时间。从数据库加载日期时间时(您说您将UTC存储在那里),您需要明确指定此时间的
种类:
DateTime dateTimeFromDatabase = LoadDateTimeValueFromDatabase();
DateTime utcDate = DateTime.SpecifyKind(dateTimeFromDatabase, DateTimeKind.Utc);
然后,只要正确设置了网站访问者的区域性,就可以从DateTime使用.ToLocalTime()将Utc值显示为本地时间:
DateTime localTimeToDisplay = utcDate.ToLocalTime();
然后使用localTimeToDisplay
变量进行数据绑定,一切就绪
更新:要显示当前时间,只需执行以下操作:
dateinfo.Text = "TimeStamp Info : " + DateTime.UtcNow.ToLocalTime();
因为UtcNow已经将日期时间类型设置为UTC
不过,您需要为客户端设置正确的区域性。因此,您需要手动或在web.config中进行设置:
<system.web>
<globalization culture="auto" />
<system.web>
非常感谢您的回答我已经这样做了,但还没有工作服务器localtime DateTime now=DateTime.UtcNow;DateTime localTimeToDisplay=now.ToLocalTime();lbldateinfo.Text=“时间戳信息:”+localTimeToDisplay;请帮助用信息更新我的答案,以相应地设置区域性。我已对web.config进行了更改,但仍然相同