Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从javascript获取客户端时区并在asp.net中实例化_C#_Asp.net - Fatal编程技术网

C# 从javascript获取客户端时区并在asp.net中实例化

C# 从javascript获取客户端时区并在asp.net中实例化,c#,asp.net,C#,Asp.net,我使用javascript发送客户端的时区 new Date().getTimezoneOffset()/60 发送到服务器的是一个排序为“+5:30”的字符串。现在,我的问题是如何使用从客户机收到的这个偏移量在托管/服务器代码中实例化相应的时区实例 DateTime time; var success = DateTime.TryParse("2011-07-11 11:11:11+0530", out time); 基本上,您可以使用DateTime.TryParse将标准化的时间戳解析

我使用javascript发送客户端的时区

new Date().getTimezoneOffset()/60
发送到服务器的是一个排序为“+5:30”的字符串。现在,我的问题是如何使用从客户机收到的这个偏移量在托管/服务器代码中实例化相应的时区实例

DateTime time;
var success = DateTime.TryParse("2011-07-11 11:11:11+0530", out time);
基本上,您可以使用DateTime.TryParse将标准化的时间戳解析为适当的日期时间。TryParse将在成功时返回true,如果出现错误,则返回false,
time
变量将包含成功时解析的DateTime


+0530是UTC的时区偏移量,单位为小时和分钟。

您可以通过以下方式创建自定义时区信息

TimeZoneInfo tinfo = TimeZoneInfo.CreateCustomTimeZone("IST", TimeSpan.Parse("5:30"), "Std Time", "Display Name");
然后您可以使用类似这样的方法转换到目标区域

TimeZoneInfo.ConvertTime(dt,tinfo)

我想你是在这些行上寻找一些东西,否则请进一步编辑帖子,这很酷(+1:),但要谨慎,不要假设用户当前的浏览器时区a)正确,b)他们希望查看的时区。我说发送到服务器的字符串是“+5:30”。但它可以是任何时区,这取决于用户的位置。所以,它不一定是IST。它只是一个身份,你可以选择自己的名字,因为它是一个习惯的名字