我也是 MVC3 和 C# 的新手。我将使用 C# 通过 MVC3 创建一个测试博客网站。用户可以在其中撰写帖子,因此我需要存储用户帖子日期时间,并希望按自己的本地时间向其他每个用户显示该日期时间。对于这种情况,每个人都认为最好以 GMT 格式存储日期时间。
我不知道如何获取用户本地日期时间并将其转换为GMT并存储。 我不知道如何转换并显示每个用户本地日期时间中存储的日期时间。
请帮助我。请
最佳答案
我只能在一点上不同意 COLD TOLD 的观点。如果您使用 DateTime.Now
,您将获得运行应用服务器的计算机的日期和时间。虽然这没问题,但在存储它时,您还需要一起存储时区。否则,在转换时,您将不知道要从哪个时区转换。如果您将其硬编码到应用程序中,然后将其移动到不同时区的数据中心服务器,则必须更改该应用程序设置。
另一方面,如果您始终使用 DateTime.UtcNow
存储日期和时间,则只需在数据库中存储 1 个值。当需要将其转换为时区区域设置时,您不必访问数据库来找出信息最初计算时所依据的时区 - 它始终是 UTC/GMT。
var destinationTimeZone = TimeZoneInfo.FindSystemTimeZoneById(
"US Mountain Standard Time");
utc = DateTime.UtcNow;
mst = TimeZoneInfo.ConvertTimeFromUtc(utcTime, destinationTimeZone);
Console.WriteLine("UTC: " + utc.ToString("yyyy-MM-dd HH-mm-ss"));
Console.WriteLine("MST: " + mst.ToString("yyyy-MM-dd HH-mm-ss"));
关于c# - 在MVC3(C#)中将GMT日期时间转换为用户本地时间并将本地时间转换为GMT日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11387487/