- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我希望我的网页以用户的语言环境显示日期和时间。
现在大多数浏览器似乎都支持 Intl
(参见 Can I Use Intl)。我可以使用 Intl.DateTimeFormat().resolvedOptions().timeZone
获取浏览器时区。我希望我能够使用我当前的语言环境发出日期时间,方法是:
var date = new Date(2017, 11, 31, 23, 59, 59);
var format = new Intl.DateTimeFormat(
undefined, // locale
{
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
}
)
console.log(format.format(date))
我在 Windows 上使用 Chrome。我的 Windows 操作系统区域设置为“捷克共和国”。我的首选网站语言在 Chrome 中设置为“捷克语”,但浏览器本身设置为使用美国英语。
通过这些设置,输出以 12 H 格式完成,就像我的语言环境是 en-us
一样。一旦我将 Chrome 浏览器切换为使用捷克语作为其显示语言,时间就会切换为 24 小时格式。
我想我一定遗漏了一些明显的东西——网页真的无法使用用户正在使用的语言环境,还是 Chrome Intl 实现中存在一些错误或不完整?
最佳答案
我发现以下内容在 Chrome 上更可靠:可以使用 navigator.languages[0]
来获取由用户偏好的内容语言定义的语言环境。另见 Best way to determine user's locale within browser有关浏览器兼容性的讨论。
function getLocale() {
return (navigator.languages && navigator.languages.length) ? navigator.languages[0] : navigator.language;
}
var locale = getLocale();
var date = new Date(2017, 11, 31, 23, 59, 59);
var format = new Intl.DateTimeFormat(
locale,
{
year: "numeric",
month: "numeric",
day: "numeric",
hour: "numeric",
minute: "numeric",
}
)
console.log(format.format(date))
仍然无法访问用户选择的区域设置的系统范围,这似乎是一种耻辱。
关于Javascript - 使用 Intl 获取当前语言环境以显示时间和日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629607/
我添加了模块 Ember 国际在我的应用程序中,因为 Ember -i18n 已弃用。 所以 yarn 运行良好,更新 package.json 和 yarn.lock(我摆脱了 package.lo
我检查了这个来源 https://formatjs.io/docs/react-intl#runtime-requirements , 并尝试添加此代码 import { NumberFormat }
我正在尝试使用 react-intl 进行语言翻译。当我使用这个时,它运行完美。但是当我将以下代码与 intl.formatMessage() 一起使用时,它不起作用并抛出一些错误。我不知道这有什么问
我正在使用 React-intl 来实现 UI Util 库的国际化。该库有一个名为 i18n 的文件夹,其中我放置了不同区域设置的 json 文件。如果该库的用户想要添加对其他区域设置的支持,他/她
我正在使用 React-intl 来实现 UI Util 库的国际化。该库有一个名为 i18n 的文件夹,其中我放置了不同区域设置的 json 文件。如果该库的用户想要添加对其他区域设置的支持,他/她
嗨,我最近尝试使用日期选择器进行 flutter ,但我没有找到任何文档或教程,所以我打开 flutter 画廊项目并尝试复制代码。按照我导入“package:intl/intl.dart”库的代码。
我在一个大型 React 项目中使用 React Intl 的 FormattedNumber,该项目具有多种不同语言的功能。 这是我制作的货币组件,以便我可以轻松地将格式化的货币插入到我的 View
目前正在使用中 babel-plugin-react-intl , 使用“id”、“description”和“defaultMessage”为每个组件创建单独的 json。我需要的是只创建一个 js
我有一个 monorepo,它公开了一个 TypeScript 模块,该模块由 React TypeScript 项目使用和使用。 当模块将任意 React 元素插入到虚拟 DOM 中时 - 一切都按
我正在尝试在我全新安装的 OS X 10.6.6 上安装 PHP 扩展 intl,使用它附带的 PHP 版本 (v5.3.3)。 我知道扩展需要 ICU,所以我用自制软件安装了它。我安装的 ICU 版
因为每个版本flutter_localizations来自 SDK 取决于 intl 0.17.0而 fstore 依赖于 intl ^0.16.1 , 禁止来自 SDK 的 flutter_loca
我想使用package:intl制作多国语言html页面。 我看过example / basic_example.dart,但找不到intl_helpers的message_lookup_by_lib
我有数据列表,我想从最早到最晚过滤它们 包含数据的列表如下所示: [{id: 73, startTime: 2022-12-13T15:30:57.244Z}, {id: 74, startTime:
我有数据列表,我想从最早到最晚过滤它们 包含数据的列表如下所示: [{id: 73, startTime: 2022-12-13T15:30:57.244Z}, {id: 74, startTime:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-2
我正在使用 PHP Intl 库来格式化日期、数字等。现在我必须在人类可读的字符串中显示时间跨度,例如: 1day, 1hour, 10 minutes, 14s 或者以紧凑的方式: 1d 1s 10
我希望 Intl.NumberFormat() 能够根据通用规则自动将单位从较小的单位转换为较大的单位。 IE。给定的数字应根据数字的大小在输出中转换为厘米、米和公里。 代码示例: const byt
我想知道是否有办法让我使用 Javascript 的 Intl.NumberFormat()用它创造一个平方米的值(value)。 比如说,我想用它来创建一个具有该功能的值,如 30 m²。页面上或任
我从 WordPress Site Health 看到这条消息。如何安装缺少的模块? The WordPress Hosting Team maintains a list of those modu
我在 Centos 7 上使用 Virtualmin 作为控制面板,我需要安装 php intl 扩展才能使用 prestashop。 我用了这个命令 yum --enablerepo=remi in
我是一名优秀的程序员,十分优秀!