要实现这样一个功能。在每个页面加载的时候,获取当前的客户端时区,然后写入数据库 protected void Page_Load(object sender, EventArgs e)
{
string timeZone = ...;
//写入数据库
}1. .net有一个TimeZone类,但好像得到的是服务器的时区。2. javascript倒是很容易得到,
var zone = new Date().getTimezoneOffset()/60*-1;但我这里页面一加载就要写数据库。我如何得到这个前台值?有谁有解决办法吗?
{
string timeZone = ...;
//写入数据库
}1. .net有一个TimeZone类,但好像得到的是服务器的时区。2. javascript倒是很容易得到,
var zone = new Date().getTimezoneOffset()/60*-1;但我这里页面一加载就要写数据库。我如何得到这个前台值?有谁有解决办法吗?
2,通过一个hidden 设为runat=server
var zone = new Date().getTimezoneOffset()/60*-1
zone赋值完毕后 把zone的值赋给hidden,后台可以直接取值
2,通过一个hidden 设为runat=server
var zone = new Date().getTimezoneOffset()/60*-1
zone赋值完毕后 把zone的值赋给hidden,后台可以直接取值
====================================================================
1. DateTime.Now.ToString() 得到的是"2007-7-17 16:10:55",没有半点时区的信息2. 我尝试过,在前台的window.onload事件里给隐藏控件赋值,然后我在后台确实可以取到这个值,但我在Page_Load里就要写数据库了。这样我在Page_Load事件里写string zone = this.hidZone.value得到的是空值
new Date().getTimeZoneOffset() // 返回本地时间和 GMT 或者UTC 之间相差的分钟数,可以间接计算时区了
2. 我尝试过,在前台的window.onload事件里给隐藏控件赋值,然后我在后台确实可以取到这个值,但我在Page_Load里就要写数据库了。这样我在Page_Load事件里写string zone = this.hidZone.value得到的是空值======酱紫肯定不行了,可以考虑通过一个页面刷新跳转// bridge.htmlwindow.onload = function { location.href = "target.aspx?clientdt=" + new Date().getTimeZoneOffset(); }