asp.net时间戳问题

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

这是我从asp.net 2.0 webform存储记录信息的代码

         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进行了更改,但仍然相同