- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将.NET Framework 4.5应用程序移植到.NET Core 2.0,并且已经开始在Mac上进行一些测试。当我在Windows的.NET Core 2.0上运行此代码时,它可以正常工作:
TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
System.TimeZoneNotFoundException: The time zone ID 'Pacific Standard Time' was not found on the local computer. ---> System.IO.FileNotFoundException: Could not find file '/usr/share/zoneinfo/Pacific Standard Time'.
at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.File.ReadAllBytes(String path)
at System.TimeZoneInfo.TryGetTimeZoneFromLocalMachine(String id, TimeZoneInfo& value, Exception& e)
--- End of inner exception stack trace ---
at System.TimeZoneInfo.FindSystemTimeZoneById(String id)
"America/Los_Angeles"
可以解决此问题。
"Pacific Standard Time"
,然后尝试在catch块中查找
"America/Los Angeles"
吗?这看起来很笨拙,如果另一个平台还提供另一个字符串怎么办?有没有更好的方法来查找我想要的TimeZoneInfo?
最佳答案
这是一个已知问题,已在dotnet/corefx#11897中进行了跟踪。尚无内置解决方案。
但是,我的TimeZoneConverter库可用于此目的。
TimeZoneInfo tzi = TZConvert.GetTimeZoneInfo("Pacific Standard Time");
America/Los_Angeles
),并尝试使用该时区进行检索。相反的情况也适用,因此您可以在任何OS上使用任何一种格式。
关于macos - 我应该如何以与平台无关的方式获取TimeZoneInfo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47848111/
我们的服务器无法正确处理从 UTC 转换为本地时间的 C# DateTime 实例的夏令时。我们在英国,因此我们的服务器设置为“(UTC+00:00) 都柏林、爱丁堡、里斯本、伦敦”区域。 症状: D
我一直在使用 DateTime 和 TimeZoneInfo 类,我使用以下代码遇到了一个有趣的结果: var dstStart = new DateTime(2013, 3, 10, 2, 0, 0
我有一个将本地时间转换为 UTC 并将其存储在数据库中的应用程序。我在特定日期测试转换时遇到了这个问题 - 2015 年 11 月 1 日(夏令时结束的日期(时钟在到达凌晨 2 点时回到凌晨 1 点)
我希望 TimeZoneInfo.GetSystemTimeZones().Single(x => x.Id == anId) 总是给出相同的结果 TimeZoneInfo.FindSystemTim
任何人都可以帮助理解这一点。 Microsoft 3.5 中的 TimeZoneInfo 类告诉我以下 GMT 日期不是东部时区的夏令时,但它是。 // Get Eastern Timezone Ti
信息:使用.NET 4.0和VS 2012 嗨, 我即将对我自己的类进行单元测试,该类具有 TimeZoneInfo 类型的成员。但是,当我尝试在测试中考虑该成员时,它总是失败。 以下是一个简化的示例
TimeZoneInfo.StandardName 仅返回英文值,有没有办法根据设定的文化获取翻译后的名称? 谢谢。 最佳答案 TimeZoneInfo 从注册表中提取... HKEY_LOCAL_M
TimeZoneInfo.ConvertTimeFromUtc方法从注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
我使用 TimeZoneInfo.ConvertTime 方法将源时区转换为目标时区。这对我来说很好。我想知道,如果 Destination TimeZone 的 Daylight Savings 已
我知道我们可以使用 id 查找时区信息 TimeZoneInfo timeZone2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard T
我在使用 TimeZoneInfo 时遇到了问题。这可能只是理解 Microsoft 对 TimeZoneInfo 的想法的问题。 问题是如果我运行这些代码行: var tzi = TimeZoneI
我想弄清楚 System.TimeZoneInfo 是本地用户还是系统范围的设置?我一直在修改我的本地时区作为我登录的用户,但是在后台运行的服务作为记录时区的系统似乎不断记录旧时区。如果 TimeZo
我正在尝试在 C# 应用程序中控制夏令时,而不是让 Windows 执行此操作。 (我不会在这里讨论原因)。 所以我在日期和时间设置(Windows7)中删除了复选标记“为夏令时自动调整时钟” 我写了
我的 UI 层中有一些代码,应该采用 UTC 格式的 DateTime,并将其转换为本地日期时间: 在我的数据层中,我只是这样做: private DateTime ConvertToLocal(Da
我正在尝试使用 EWS API 从我正在编写的控制台程序访问 Exchange 服务器。我已经指定了我要连接的交换服务器的类型,但是当我尝试执行我拥有的代码时,它给了我 Error 1 The typ
是否有针对中欧的通用 TimeZoneInfo 将 CET 和 CEST 合二为一? 我有一个正在执行以下操作的应用: TimeZoneInfo tzi = TimeZoneInfo.FindSyst
我希望实现一个带有如下签名的函数: bool IsTimeZoneValid(string countryCode, DateTime localTime); 目的是确定该国家/地区是否具有本地时间有
我在序列化 TimeZoneInfo 对象时遇到了一些问题。我试图在 WCF 服务的数据协定中使用 TimeZoneInfo 变量,但序列化失败。所以我写了这段代码来测试序列化。这是我所做的:
我从 JavaScript 向 Controller 传递了用户客户端日期时间与 UTC 之间的偏移分钟数,使用 Date 对象上的 getTimezoneOffset 方法。现在我在服务器端有了这些
使用 .net 4.0 在 win 7 上运行 asp.net mvc 2 我有一个从表单接收 2 个 DateTime 对象的 Controller 操作方法。表单上的 UI 使用 jQueryUi
我是一名优秀的程序员,十分优秀!