从时区或时区偏移量 c# 获取区域性信息



我正在尝试根据区域性信息格式化日期。 问题是我不知道文化信息,我只知道时区和时区偏移量。因此,我希望能够根据哪个时区获取区域性信息,以便格式化日期字符串。 例如,如果时区是美国东部标准时间,则日期格式将为 MM/DD/YYYY,但如果时区是澳大利亚时区,那么我需要格式化日期 DD/MM/YYYY。 我知道时区的文化是一对多的关系,但如果我以相反的顺序进行并且我有特定的时区,那么它应该是一对一的关系。 有人知道实现这一目标的方法吗?

正如其他人所说,它们是无关的。 你可能认为存在一些相关性,你也许能够在它们所在的地方找到例子,但随后你会发现很多例子不是。

考虑到我的文化可能是en-US,即使我访问或居住在日本。 文化代码的意思是"在美国说的英语"。 它不是指用户的当前物理位置。

此外,如果您只有时区偏移量,则肯定无法进行任何关联,因为北美和南美的国家/地区在某些时候共享相同的偏移量,但使用不同的日期格式。

如果您有实际时区标识符,则取决于您拥有的类型。 对于基于位置的 IANA 标识符(例如 "America/New_York"(,您可以查找国家/地区代码,并从那里猜测格式 - 尽管您仍然会遇到我上面描述的外国访问者问题。 此外,还有一些 IANA 标识符(如 "Etc/GMT-2"(并非特定于国家/地区。 然后,如果你有 Windows 时区标识符(例如在 .NET 中与TimeZoneInfo一起使用的标识符(,则有几个时区标识符跨越多个国家/地区。 无法保证每个使用时区的国家/地区都使用相同的日期格式。

在维基百科上按国家/地区查看日期格式。 您将看到,根据上下文,有许多地方使用了多种日期格式。 菲律宾的情况特别令人感兴趣,因为他们同时使用MDY和DMY格式。

只有时区和区域偏移量才有点不可能定义日期格式。例如,根据维基百科,加拿大,美国和墨西哥有一些共同的时区和时间偏移量,但日期格式不同

相关内容

  • 没有找到相关文章

最新更新