区域设置转换器
解析区域设置标识符,预览数字/日期/货币格式,并排比较不同区域设置
常用区域设置
无效的区域设置标识符,请输入有效的 BCP 47 区域标签。
浏览器支持
解析信息
格式替代
显示名称
数据预览
数字格式
货币格式
日期和时间
相对时间
列表格式
排序
并排比较两个不同区域设置如何格式化相同的数据。
浏览器原生
由内置 Intl API 驱动,无需服务器调用,无需外部依赖,可离线使用,保护隐私。
实时预览
输入时即时查看任何区域设置的数字、日期、货币和列表的格式化效果。
全面分析
解析区域设置组件,以多种语言显示名称,并排比较两个区域设置。
常见问题
什么是区域设置标识符?
区域设置标识符是一个短字符串,用于标识语言、地区、文字和其他偏好的特定组合。常见格式包括 BCP 47 标签(en-US、zh-Hans-CN)和 POSIX 标识符(en_US.UTF-8)。它们决定了文本、数字、日期和货币的显示方式。
BCP 47 和 POSIX 区域格式有什么区别?
BCP 47 使用连字符分隔组件(en-US、zh-Hans-CN),是 Web 技术的标准。POSIX 使用下划线(en_US、zh_Hans_CN.UTF-8),在 Unix/Linux 系统中常见。两者标识相同的区域设置,但使用不同的语法约定。
这个工具是如何在没有服务器的情况下工作的?
此工具使用浏览器内置的 Intl API 系列(Intl.Locale、Intl.NumberFormat、Intl.DateTimeFormat、Intl.DisplayNames 等)来解析区域设置标识符并生成格式预览。所有处理都在浏览器中完成,不会向任何服务器发送数据。
为什么某些区域设置在不同浏览器中显示不同结果?
Intl API 的实现和区域设置数据因浏览器和操作系统而异。Chrome、Firefox 和 Safari 可能使用不同版本的 Unicode CLDR 数据,导致格式上的细微差异。结果中显示的解析后区域设置反映了浏览器实际使用的设置。
"解析后区域设置"是什么意思?
当您请求 "en" 这样的区域设置时,浏览器可能会根据其可用数据将其解析为更具体的区域设置,如 "en-US" 或 "en-Latn-US"。解析后的区域设置是浏览器实际用于格式化的区域设置,可能与您的输入不同。
了解区域设置标识符
BCP 47 结构
BCP 47 语言标签由用连字符分隔的子标签组成:语言(必需,2-3 个字母)、文字(可选,4 个字母)、地区(可选,2 个字母或 3 个数字)和变体(可选)。示例:
- • 仅语言
en, zh, ar - • 语言+地区
en-US, zh-CN, pt-BR - • 语言+文字
zh-Hans, sr-Latn - • 完整标签
zh-Hans-CN, en-Latn-US
Intl API 实践
JavaScript Intl API 系列提供了区域设置感知的数字、日期、列表、相对时间等格式化功能。使用 Intl.Locale 解析标识符,Intl.DisplayNames 获取人类可读名称,Intl.NumberFormat/DateTimeFormat 进行格式化。
- •
new Intl.Locale("zh-Hans-CN")— parse - •
Intl.DisplayNames— display names - •
Intl.NumberFormat— numbers - •
Intl.DateTimeFormat— dates
最佳实践: 始终使用最适合您需求的最具体的区域设置标签。对于 Web 应用程序,使用 navigator.language 获取用户的首选语言,并提供优雅的回退机制。在开发早期就使用多种区域设置进行测试。