C# 在C语言中转换时区之间的时间#
我有一个托管在远程服务器上的C#MVC Web应用程序。我不知道确切的位置 该应用程序的用户都来自(UTC+06.00)达卡。当用户插入新记录时,我希望插入的日期时间来自其当地时间e.I(UTC+06.00)达卡C# 在C语言中转换时区之间的时间#,c#,timezone,C#,Timezone,我有一个托管在远程服务器上的C#MVC Web应用程序。我不知道确切的位置 该应用程序的用户都来自(UTC+06.00)达卡。当用户插入新记录时,我希望插入的日期时间来自其当地时间e.I(UTC+06.00)达卡 我怎么做?您应该使用ASP.NET应用程序的全局时区。检查。除非您只使用C#datatime函数,否则这将起作用。一旦SQL Server中有了一些复杂的代码,这些代码将使用GETTIME函数。您还将依赖SQL Server时区 您应该在UTC中处理内部日期时间,并仅在UI中转换时区。
我怎么做?您应该使用ASP.NET应用程序的全局时区。检查。除非您只使用C#datatime函数,否则这将起作用。一旦SQL Server中有了一些复杂的代码,这些代码将使用GETTIME函数。您还将依赖SQL Server时区
您应该在UTC中处理内部日期时间,并仅在UI中转换时区。您应该使用ASP.NET应用程序的全局时区。检查。除非您只使用C#datatime函数,否则这将起作用。一旦SQL Server中有了一些复杂的代码,这些代码将使用GETTIME函数。您还将依赖SQL Server时区
您应该在UTC中处理内部日期时间,并仅在UI中转换时区。您可以遵循以下方法: 第1步: 您可以在数据库中存储UTC时间。如果您使用的是SQL,则可以使用
GETUTCDATE()
获取UTC日期
步骤2
请使用Javascript设置cookie,存储浏览器时区。(您可以使用诸如获取时区名称之类的脚本)
步骤3
后端C#代码:
utcTime
是我使用的局部变量名)谢谢您可以遵循以下方法: 第1步: 您可以在数据库中存储UTC时间。如果您使用的是SQL,则可以使用
GETUTCDATE()
获取UTC日期
步骤2
请使用Javascript设置cookie,存储浏览器时区。(您可以使用诸如获取时区名称之类的脚本)
步骤3
后端C#代码:
utcTime
是我使用的局部变量名)谢谢以下代码解决了我的问题-
DateTime utcTime = DateTime.UtcNow;
TimeZoneInfo BdZone = TimeZoneInfo.FindSystemTimeZoneById("Bangladesh Standard Time");
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, BdZone);
下面的代码解决了我的问题-
DateTime utcTime = DateTime.UtcNow;
TimeZoneInfo BdZone = TimeZoneInfo.FindSystemTimeZoneById("Bangladesh Standard Time");
DateTime localDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, BdZone);
见网页:&。用法:IFormatProvider provider=System.Globalization.CultureInfo.GetCultureInfo(“bn-BD”);DateTime date=DateTime.Parse(“6:00”,提供者)@抱歉,时区和文化是两个截然不同的东西。区域性仅影响日期格式,不影响时区。请参阅网页:&。用法:IFormatProvider provider=System.Globalization.CultureInfo.GetCultureInfo(“bn-BD”);DateTime date=DateTime.Parse(“6:00”,提供者)@抱歉,时区和文化是两个截然不同的东西。区域性仅影响日期格式,而不影响时区。作为您链接到州的问题的答案,无法在asp.net应用程序中全局设置时区。您也不应该这样做。作为您链接到州的问题的答案,在asp.net应用程序中无法全局设置时区。你也不应该。这对于转换来说是很好的。但是,您可能不应该在数据库中存储本地时间。在大多数情况下,您只希望存储UTC并进行显示转换。也有一些例外,但一般来说,UTC是我们存储时间戳的方式。这对于转换很好。但是,您可能不应该在数据库中存储本地时间。在大多数情况下,您只希望存储UTC并进行显示转换。也有一些例外,但一般来说,UTC是我们存储时间戳的方式。除此之外,jstz的结果在Windows上的
TimeZoneInfo
将不可用。您必须首先从IANA转换到Windows。除此之外,jstz的结果在Windows上的TimeZoneInfo
无法使用。你必须先从IANA转换到Windows。