似乎找不到这个问题的答案,所以在这里提问。我想在阿拉伯语区域设置中使用非阿拉伯数字,这可能吗?
\nconst intlDateTimeFormat.format(new Date());\nintlDateTimeFormat = new Intl.DateTimeFormat('ar-SA', { month: 'short', day: 'numeric' });\n// "\xd9\xa2\xd9\xa0 \xd8\xb4\xd9\x88\xd8\xa7\xd9\x84"\nRun Code Online (Sandbox Code Playgroud)\n但我想要...
\nconst intlDateTimeFormat.format(new Date());\nintlDateTimeFormat = new Intl.DateTimeFormat('ar-SA', { something? , month: 'short', day: 'numeric' });\n// "01 \xd8\xb4\xd9\x88\xd8\xa7\xd9\x84"\nRun Code Online (Sandbox Code Playgroud)\n有什么建议
\n您正在寻找的是使用阿拉伯语言区域设置(即阿拉伯文本)但使用拉丁(英语)数字(或您选择的任何其他编号系统)来格式化日期。
\n请注意,使用阿拉伯语言区域设置时,编号系统将默认为所有阿拉伯区域设置的阿拉伯-东方数字(即,除了五 (5) 个阿拉伯区域"\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xa7\xd9\xa8\xd9\xa9" 设置将使用阿拉伯-西方(拉丁)数字之外的数字0123456789;这些是ar-DZ、ar-EH、ar-LY、ar-MA和ar-TN区域设置。
当您使用ar-SA沙特阿拉伯时,日期将默认使用阿拉伯东部数字"\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xa7\xd9\xa8\xd9\xa9"。
您可以更改为使用阿拉伯-西方(拉丁)数字,0123456789而不管以下任一者使用的区域设置:
1.在语言环境中指定latn为 Unicode 编号系统。
new Intl.DateTimeFormat(\'ar-SA-u-nu-latn\',{month:\'short\',day:\'numeric\' }).format(new Date());\nRun Code Online (Sandbox Code Playgroud)\n或者
\n2.指定latn为编号系统选项。
new Intl.DateTimeFormat(\'ar-SA\',{month:\'short\',day:\'numeric\',numberingSystem:\'latn\'}).format(new Date());\nRun Code Online (Sandbox Code Playgroud)\n无论哪种情况,您都将输出阿拉伯字符串,但带有英语(阿拉伯-西方数字)。
\n**There are other numbering systems that you can use**: \n "arab", "arabext", " bali", "beng", "deva", "fullwide",\n " gujr", "guru", "hanidec", "khmr", " knda", "laoo",\n "latn", "limb", "mlym", " mong", "mymr", "orya",\n "tamldec", " telu", "thai", "tibt".\nRun Code Online (Sandbox Code Playgroud)\n这是一个例子。
\nnew Intl.DateTimeFormat(\'ar-SA-u-nu-latn\',{month:\'short\',day:\'numeric\' }).format(new Date());\nRun Code Online (Sandbox Code Playgroud)\r\n| 归档时间: |
|
| 查看次数: |
603 次 |
| 最近记录: |