c# - 如何在 asp.net 中获取客户端当前日期和时间?

标签 c# asp.net jquery

我的母版页中有一个隐藏字段。我使用 Javascript 将当前日期和时间设置为该“隐藏字段”中的值。我无法在任何其他页面的页面加载方法中获取此隐藏字段值。

这是我的代码。

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" />

我收到“hdnCurrentDate”未定义的警报。这是因为我在页面加载中写的代码不是回发方法。

这是我实现的另一种方式。

我在后面的代码中使用了 ConvertTimeBySystemTimeZoneId。这是相同的代码。

DateTime ClientDateTime = DateTime.Now;
        DateTime _localTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(ClientDateTime, "Arab Standard Time");
        return _localTime;

我没有得到目的地时区 ID 而不是“阿拉伯标准时间”。如果我得到它,我的问题就会得到解决。

有没有其他方法可以在我的任何页面中获取当前日期时间。我不想使用 Session 和 cookie。

提前致谢。

最佳答案

下面是获取客户端当前日期时间的 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>

您还可以从后面的代码中获取 OffSet Time,如下所示:

public static TimeSpan GetOffSetTime(string date)
    {
        DateTime d = Convert.ToDateTime(date);
        TimeZone zone = TimeZone.CurrentTimeZone;
        TimeSpan local = zone.GetUtcOffset(d);
        return local;
    }

关于c# - 如何在 asp.net 中获取客户端当前日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13717479/

相关文章:

c# - 如何知道用户是否正在滚动 datagridview

c# - IAP Windows Phone 8.1 错误 : HRESULT: 0x805A0194

c# - 如何广播HTTP请求?

c# - 悬停时菜单跳转

c# - 如何在 C# 中将 DataTable 转换为通用列表

javascript - 计算可见 ListView 项的数量

c# - 无法使用ajax jquery post上传大型csv文件| ASP MVC

javascript make select 2 使用外部源设置的 url

c# - 计划的 "private protected"C# 访问修饰符是什么意思?

asp.net - 为什么这里不支持 ClientIDMode?