.NET Core 替代 ConvertTimeToUtc 的方法是什么?

8

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

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

这一直运作得很好,直到出现.NET Core。我能找到的所有当前示例似乎都在使用“ConvertTime”,但它们是从UTC转换为本地时间,这与我在这里所要做的相反。那么,有没有人能告诉我如何在.NET Core中实现同样的功能呢?我目前正在使用项目.json文件中的这个框架设置:
  "frameworks": {
        "netcoreapp1.0": {
            "imports": [
                "dotnet5.6",
                "portable-net45+win8"
            ]
        }
    },
1个回答

8

您可以使用TimeZoneInfo.ConvertTime方法,并将目标时区(第三个参数)设置为UTC:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接