在javascript中设置区域设置

ari*_*iel 12 javascript browser locale date internationalization

jQuery通过以下方式测试日期的有效性:

!/Invalid|NaN/.test(new Date(value))
Run Code Online (Sandbox Code Playgroud)

new Date(dateString)Date.parse(dateString)与浏览器/ OS区域设置相同并使用它来解析字符串.

我正在尝试解析DD/MM/YYYY但是因为我的浏览器正在寻找而出现错误MM/DD/YYYY.由于我的产品只能由DD/MM人使用,我想强制这种行为.

我可以编写自定义验证器,但是也可以通过JavaScript更改浏览器区域设置吗?

小智 6

您现在可以使用 JavaScript 的 Internationalization API,因为现在所有浏览器都支持它。它允许您传入一个区域设置,这将自定义日期格式。

console.log(new Intl.DateTimeFormat('en-GB').format(date));

参考:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat


Sag*_*agi -11

您无法更改区域设置,因为 EMCAScript规范中没有此类功能。

然而,有一个名为php.js 的不错的包,它可以用 JavaScript 实现 PHP 函数。

其中两个函数是setlocale ()和date ()。你可以使用它们。

  • 哇,我永远不会建议任何人用任意长度的杆来触摸 php.js 代码。哎呀。 (10认同)
  • 哇。他不仅建议他利用一个巨大的库来实现这个单一目的……而且还特别建议一个模拟 *PHP*‽ 的库,这……至少可以说是不负责任的。-1'd。 (9认同)
  • 我没有使用 php.js,接受的信息是不可能在 javascript 中更改区域设置 (4认同)
  • 好了,如果你还有什么想法,欢迎留言。否则,他可以使用 php.js 中的*指定函数*。当然不需要使用整个库。 (2认同)