gpt4 book ai didi

c# - 如何在 ASP.NET MVC 中设置时区?

转载 作者:IT王子 更新时间:2023-10-29 03:59:03 31 4
gpt4 key购买 nike

在我的网站上,我需要知道人们所在的时区,以便在正确的时间向他们显示消息。我不太确定在有关如何执行此操作的教程方面要搜索什么。

我打算做的是:当用户访问我的网站时,他们将通过从下拉列表中选择来设置时区。我会将他们的设置存储在我的数据库中,并用它来计算时间。

我不确定我需要什么。我的数据库时间应该存储什么?我在某处读到它应该存储为 UTC。如何设置我的数据库来执行此操作?此外,我将在共享托管站点上,因此必须以我可以做到的方式进行设置(可能通过 webconfig?)。

接下来,我需要一个包含所有时区的列表作为 HTML 帮助程序或常规 HTML。我真的不想做一个。

然后,就像我说的,我需要一个教程来告诉我该怎么做。我认为它是对那个时间的加减,但我可能错了。

最佳答案

为此,您绝对应该将 UTC 时间戳存储在数据库中。

当您需要在您的网站上显示数据库中的日期时,您可以这样做:

DateTime stamp = /* get datetime from the database here, make sure you
use the constructor that allows you to specify the
DateTimeKind as UTC. */

//E.g.
//DateTime stamp = new DateTime(2009, 12, 12, 12, 12, 12, DateTimeKind.Utc);

timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(" /* users time zone here */");
var convertedTime = TimeZoneInfo.ConvertTime(stamp, timeZoneInfo);

//Print out the date and time
//Console.WriteLine(convertedTime.ToString("yyyy-MM-dd HH-mm-ss"));

时区列表在 .Net 中已经可用,所以你可以看到 this post on how to enumerate them .对于 ASP.Net MVC,您可能希望将转换后的日期时间分配给模型类的属性,而不是打印超时,以便您的 View 可以使用它进行显示。

关于c# - 如何在 ASP.NET MVC 中设置时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1320048/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com