.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"
]
}
},
答案 0 :(得分:8)
您可以使用TimeZoneInfo.ConvertTime
,然后选择destinationTimeZone
(第三个参数)为UTC:
var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(viewModel.EventTimeZone);
var completeStartDate =
TimeZoneInfo.ConvertTime(viewModel.StartDate,timeZoneInfo, TimeZoneInfo.Utc);