C# 如何在asp.net中获取客户端当前日期和时间?
我的母版页中有一个隐藏字段。我使用Javascript将当前日期和时间设置为“hiddenfield”中的一个值。我无法在任何其他页面的页面加载方法中获取此隐藏字段值 这是我的密码C# 如何在asp.net中获取客户端当前日期和时间?,c#,asp.net,jquery,C#,Asp.net,Jquery,我的母版页中有一个隐藏字段。我使用Javascript将当前日期和时间设置为“hiddenfield”中的一个值。我无法在任何其他页面的页面加载方法中获取此隐藏字段值 这是我的密码 HiddenField hdnCurrentDate = (HiddenField)this.Master.FindControl("hdnCurrentDate"); ClientScript.RegisterClientScriptBlock(this.GetType(), "Me
HiddenField hdnCurrentDate = (HiddenField)this.Master.FindControl("hdnCurrentDate");
ClientScript.RegisterClientScriptBlock(this.GetType(), "Message", "var CurrentDate = new Date(); $('#" + hdnCurrentDate.ClientID + "').val(CurrentDate);alert($('#ctl00_hdnCurrentDate').val());", true);
我在母版页中定义了Hiddenfield,如
<asp:HiddenField ID="hdnCurrentDate" runat="server" />
我没有得到目的地时区ID而不是“阿拉伯标准时间”。如果我能得到它,我的问题就会解决
是否有其他方法可以在我的任何页面中获取当前日期时间。我不想使用会话和cookies
提前感谢。'是否有其他方法可以在我的任何页面中获取当前日期时间。我不想使用会话和cookies。“在这种情况下,您可以使用JavaScript
另外,您不需要使用RegisterStartupScript
。您可以在onLoad
事件中调用GetDate()
函数
<script type="text/javascript">
window.onload = function(){
getDate();
};
function GetDate()
{
var dt = new Date();
var element = document.getElementById("MainContent_FormView1_Label1");
element.text = dt.toDateString();
}
</script>
window.onload=函数(){
getDate();
};
函数GetDate()
{
var dt=新日期();
var元素=document.getElementById(“MainContent\u FormView1\u Label1”);
element.text=dt.toDateString();
}
但是,您可能希望在使用<代码>窗口.OnLoad 时阅读最佳实践,或者考虑使用一个框架,如它的
< P> <强>主页< /强> 。HiddenField hdnvalue = this.Master.Master.FindControl("HiddenField1") as HiddenField;
string currenttime=hdnvalue.Value;
设置服务器时间
<asp:hiddenfield runat="server" id="HiddenField1"></asp:hiddenfield>
protected void Page_Load(object sender, EventArgs e)
{
HiddenField1.Value = DateTime.Now.ToString();
}
我是通过以下方式做到这一点的:
HiddenField
带入上一页,其中需要:
<asp:HiddenField ID="hdnTimeOffset" ClientIDMode="Static" runat="server"
Value="" />
会话变量,如单击按钮:
protected void btn_Click(object sender, EventArgs e)
{
Session["TimeOffset"] = hdnTimeOffset.Value;
Response.Redirect("~/Root/abc.aspx");
}
DateTime dtmCurrentDateTime = DateTime.Now.ToUniversalTime();
double dblMinutes =Convert.ToDouble(Session["TimeOffset"].ToString());
dtmCurrentDateTime = dtmCurrentDateTime.AddMinutes(-dblMinutes);
<asp:HiddenField ID="hidChild" runat="server"/>
下面是获取客户端当前日期时间的javascript函数:
<script type="text/javascript">
function GetDate(date) {
CurTime = new Date(date);
var offset = (new Date().getTimezoneOffset() / 60) * (-1);
var utc = CurTime.getTime() + (offset * 60000 * (-1));
var serverDate = new Date(utc + (3600000 * offset));
var dateString = (serverDate.getMonth() + 1) + "/" + serverDate.getDate() + "/" +
serverDate.getFullYear() + " " + serverDate.toLocaleTimeString("en-US", { hour12: true });
}
</script>
使用C#的文化信息来获取它怎么样 字符串currentFormat=CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
这将返回“dd/MM/yy”或“dd/M/YYY”客户端中的任何格式您是如何在aspx页面中定义隐藏字段的?“”这是我的隐藏字段。您检查了我下面的答案吗?我已经实现了此代码。但它不起作用。因为首先执行服务器端页面加载,然后执行window.onload。因此,我无法获取页面加载中的值。我不希望服务器处于当前日期和时间。这会给我服务器的日期和时间。我会试试看。一旦完成,就告诉你。谢谢你宝贵的时间。谢谢你的帮助。我们需要在GMT时间中添加偏移时间,以获得特定时区的时间。谢谢这对我们会有用的。
DateTime dtmCurrentDateTime = DateTime.Now.ToUniversalTime();
double dblMinutes =Convert.ToDouble(Session["TimeOffset"].ToString());
dtmCurrentDateTime = dtmCurrentDateTime.AddMinutes(-dblMinutes);
<script type="text/javascript">
function getDateTime()
{
var localTime = new Date();
var year= localTime.getYear();
var month= localTime.getMonth() +1;
var date = localTime.getDate();
var hours = localTime .getHours();
var minutes = localTime .getMinutes();
var seconds = localTime .getSeconds();
//at this point you can do with your results whatever you please
}
</script>
HiddenField hdnFieldValue = (HiddenField)PreviousPage.FindControl("hdnField");
<asp:HiddenField ID="hidChild" runat="server"/>
var childHidden = document.getElementById('<%hidChild.ClientID%>');
childHidden.value = window.opener.document.getElementById('text1').value;
Response.Write(hidChild.Value); or Session["ParentVal"]=hidChild.Value;
<script type="text/javascript">
function GetDate(date) {
CurTime = new Date(date);
var offset = (new Date().getTimezoneOffset() / 60) * (-1);
var utc = CurTime.getTime() + (offset * 60000 * (-1));
var serverDate = new Date(utc + (3600000 * offset));
var dateString = (serverDate.getMonth() + 1) + "/" + serverDate.getDate() + "/" +
serverDate.getFullYear() + " " + serverDate.toLocaleTimeString("en-US", { hour12: true });
}
</script>
public static TimeSpan GetOffSetTime(string date)
{
DateTime d = Convert.ToDateTime(date);
TimeZone zone = TimeZone.CurrentTimeZone;
TimeSpan local = zone.GetUtcOffset(d);
return local;
}