如何从 CultureInfo 中的属性获取时区
我有一个字符串,其中包含时间戳(yyyy-mm-dd hh:mm:ss
)。 我可以根据我获得的其他信息创建一个 CultureInfo
对象。 因此我知道时间戳位于哪个国家。时间戳不是 UTC/GMT。
假设时间戳来自印度尼西亚 (new CultureInfo("id-ID")
) ,这意味着该字符串是由以下代码或类似代码创建的。
DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
这意味着该字符串包含印度尼西亚当地时间。 我知道我的时区,但不知道如何将印度尼西亚时间转换为 UTC/GMT,因此我可以使用 TimeZoneInfo
中的 UTC/GMT 对象。 我自己的时区可能在同一时区,也可能不在同一时区。
是否有任何地方可以连接此信息?
CultureInfo
有很多属性,肯定其中一些可以用来获取时区,在哪里?
我可能会补充一点,我发现整个系统非常混乱,所以我可能偏离我的想法。
I have a string, which contains a timestamp (yyyy-mm-dd hh:mm:ss
). I can create a CultureInfo
object based on other information I get. Therefore I know which country the timestamp is in. The timestamp is not in UTC/GMT.
Say the timestamp is from Indonesia (new CultureInfo("id-ID")
) , meaning the string was created by code below or similar.
DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
That means the string contains the local time in Indonesia. I know my timezone, but I don't know how to convert the Indonesian time to UTC/GMT, so I can use the UTC/GMT object in TimeZoneInfo
. My own timezone may or may not be in the same timezone.
Is there anywhere, this information is connected?
CultureInfo
has a lot of properties, surely some of them can be used to get timezone, somwhere?
I might add that I find the entire system very confusing, so I could be way off in how I think things works.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短回答:没有
长回答:这是文化和时区之间的一对多关系。 例如:
en-US - 英语、美国包含 6 个时区...那么如何从 en-US 转换为东部夏令时间? ...以及如何获得夏令时偏移?
这是一个令人困惑的文化难题(哇,试着说快 5 倍),用 CLR 不容易解决。
Short answer: No
Long Answer: This is a 1 to many relationship between culture and timezone. For example:
en-US - English, American contains 6 timezones... so how would you get from en-US to Eastern Daylight time? ... and how do you get the daylight savings time offsets?
It's a confusing cultural conundrum (wow, try saying that 5 times fast) that is not easily solvable with the CLR.