.NET Core中的ConvertTimeToUtc发生了什么?我知道它已经不存在了,但是它被其他任何东西取代了吗?这是我以前采用客户机日期和时间输入,然后将其转换为UTC以存储在数据库中的方式:

var timeZoneInfo=TimeZoneInfo.FindSystemTimeZoneById(viewModel.EventTimeZone);
var completeStartDate=TimeZoneInfo.ConvertTimeToUtc(viewModel.StartDate,timeZoneInfo);

直到.NET Core为止,这一直很好。我可以找到的所有当前示例似乎都在使用“ConvertTime”,但是它们是从UTC到本地的,这与我在这里要讲的相反。那么,有人可以告诉我如何在.NET Core中完成同样的壮举吗?我目前在我的project.json文件中使用此框架设置:
  "frameworks": {
        "netcoreapp1.0": {
            "imports": [
                "dotnet5.6",
                "portable-net45+win8"
            ]
        }
    },

最佳答案

您可以使用TimeZoneInfo.ConvertTime,然后选择destinationTimeZone(第三个参数)为UTC:

var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(viewModel.EventTimeZone);
var completeStartDate =
    TimeZoneInfo.ConvertTime(viewModel.StartDate,timeZoneInfo, TimeZoneInfo.Utc);

关于c# - .NET Core替换ConvertTimeToUtc?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41971428/

10-11 21:33