- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用下面的代码,我试图将此 datetime
字符串转换为本地 DateTime
private DateTime ConvertToLocalTime(string datetimestring)
{
DateTime timeUtc = DateTime.Parse(datetimestring);
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone);
return cstTime;
}
这是我得到的异常:
at System.TimeZoneInfo.ConvertTime(DateTime dateTime, TimeZoneInfo sourceTimeZone, TimeZoneInfo destinationTimeZone, TimeZoneInfoOptions flags, CachedData cachedData) at
System.TimeZoneInfo.ConvertTimeFromUtc(DateTime dateTime, TimeZoneInfo destinationTimeZone)
The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is
DateTimeKind.Local
, the source time zone must be TimeZoneInfo.Local.
ConvertTimeFromUtc 的示例看起来与我的代码完全一样,只是我将此字符串解析为 timeUtc:2017-01-23T05:00:00+00:00
如果我这样调用 Parse:
DateTime.Parse(datetimestring, null, System.Globalization.DateTimeStyles.RoundtripKind);
timeUtc.Kind.ToString()
返回“本地”
那么,我该如何补救呢?时间将发送给我 UTC。
最佳答案
您必须添加 DateTime.SpecifyKind
private static DateTime ConvertToLocalTime(string datetimestring)
{
DateTime timeUtc = DateTime.Parse(datetimestring);
var dt = DateTime.SpecifyKind(timeUtc, DateTimeKind.Utc);
TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time");
DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(dt, cstZone);
return cstTime;
}
关于C# ConvertTimeFromUtc 时髦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819948/
使用下面的代码,我试图将此 datetime 字符串转换为本地 DateTime private DateTime ConvertToLocalTime(string datetimestring)
我对 TimeZoneInfo.ConvertTimeFromUtc 有一个非常奇怪的行为。您如何看待这会返回什么? var date = new DateTime(2000, 1, 1, 12, 0
我有以下代码,我在澳大利亚堪培拉有一位客户。它们通常是 UTC+10,但它们现在处于夏令时,因此是 UTC+11。奇怪的是,当我运行这段代码时,它没有考虑我认为 ConvertTimeFromUTC
这个问题在这里已经有了答案: ConvertTimeFromUTC, Handling Australia DST (1 个回答) 关闭 3 年前。 我正在使用 TimeZoneInfo.Conve
我正在将项目从 .Net 4.5 转换为以 .NetStandard 1.6 为目标的 PCL,看起来 TimeZoneInfo 没有方法 ConvertTimeFromUtc。如果输入的时间类型设置
我正在努力解决一个奇怪的日期时间转换问题。对于“PST 时区”,从 1973 年开始的日期按预期工作,与 UTC(冬季)相差 8 小时。但直到 1973 年,相差 9 小时!这对我来说很奇怪。也许我遗
如果夏令时有效,并且日期对象已保存到数据库(UTC 格式)中,您检索该对象以在 View 中显示它(例如 asp.net-mvc). 您可以使用以下方法来做到这一点: public static Da
我有一个名为 zeekuser 的用户表,我在其中存储与用户相关的时区信息。在使用以下代码检索 I 时, var v = (from s in dc.UserWebSites
SQL Server 中是否有函数可以将保存为 UTC 时间的 DateTime 转换为本地时间?问题是我将时间保存为 UTC 时间,并且我曾经将时区偏移量计算为 select @tzoffset =
我们有一个在 .Net Framework 4.7.1 上运行的网络作业,它从 DateTimeOffset.UtcNow 执行日期时间转换。到智利大陆时间(如果我没记错“太平洋标准时间”)。 在本地
下面的代码在升级到 asp5 之前可以正常工作。 DNX Core 5.0 不支持方法ConvertTimeFromUtc。是否有另一种适当的方法来实现这一目标? public DateTime Gm
我有一个从数据库中提取的错误集合。时间存储为 UTC,但我想将其转换为 CST: var errors = _errorsRepository.Errors. Select(e => new
我是一名优秀的程序员,十分优秀!