gpt4 book ai didi

c# - 将 MVC 4 应用程序中的 DateTime.Now 转换为我国的标准时间(当应用程序部署在美国时)

转载 作者:行者123 更新时间:2023-12-03 03:19:09 24 4
gpt4 key购买 nike

我使用 C# 应用程序开发了一个 MVC 4,并使用 Windows Azure 将其部署到了位于弗吉尼亚州的数据中心。我在应用程序中记录用户事件,记录用户名和事件启动的时间。记录的时间需要转换为斐济标准时间。根据我在网上找到的内容,我编写了一个扩展方法来帮助实现此功能。

public static DateTime ToFijiTime(this DateTime datetime)
{

datetime = DateTime.SpecifyKind(datetime, DateTimeKind.Utc);
TimeZoneInfo tz = TimeZoneInfo.FindSystemTimeZoneById("Fiji Standard Time");
DateTime MyDateTime = TimeZoneInfo.ConvertTime(datetime, tz);
return TimeZoneInfo.ConvertTimeToUtc(MyDateTime, tz);
}

然而,一旦部署后,它并不能很好地工作。我得到了正确的日期和几乎正确的时间。由于某种原因,它总是将时间指定为“上午”时间。例如,如果时间应为 2/04/2013 6:30:19 PM(斐济标准时间),则记录的时间实际上是 2/04/2013 6:30:19 AM(斐济标准时间),但时间在早上像2/04/2013 1:30:19 AM 正确保存。谁能告诉我我的代码有什么问题吗?

最佳答案

然后将用户时区存储在服务器端,

使用以下内容:

@TimeZoneInfo.ConvertTimeFromUtc(Model.CreatedOn, TimeZoneInfo.FindSystemTimeZoneById("E. US Standard Time"))

另请参阅:

Convert UTC/GMT time to local time

关于c# - 将 MVC 4 应用程序中的 DateTime.Now 转换为我国的标准时间(当应用程序部署在美国时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15778784/

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