Javascript .toLocaleString() 返回错误的月份?

标签 javascript firefox internationalization chromium

我在这里不知所措。我需要在我的区域设置中显示 JavaScript 日期,但显示的区域设置字符串在未来 1 个月内关闭。

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var d = new Date(2018,4,3,21,0);
document.getElementById("demo").innerHTML = d.toLocaleString('de-DE');
</script>

</body>
</html>

显示的结果是 3.5.2018, 21:00:00 而不是 3.4.2018, 21:00:00。如果我尝试 Date.now() ,它会正常工作。

在 Ubuntu 14.04.5 和 Linux Mint 17.3、Firefox 59.0.2(64 位)和 Chromium 65.0.3325.181 上进行测试。

如果我没有忽略某些事情,我认为这是一个严重的错误,但在提交问题之前(在哪里?)我想我应该在这里问。

感谢您就此事提供任何意见!

最佳答案

Js new Date() 开始从 0 到 11 计算月份。
当您输入新日期(2018,4,3)
计算时间为2018年5月3日。
并且,输出为 3/5/2018。

关于Javascript .toLocaleString() 返回错误的月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49628155/

相关文章:

jquery - 使用 jQuery 在 IE8 或 Firefox 中不触发对话框单击监听器

javascript - 如何在 Javascript 中根据变量设置属性值

.net - 如何在没有工作日的情况下从 DateTime 获取长日期格式

javascript - jQuery 或 javascript 中是否有 'if (!Page.IsPostBack)' 之类的东西?

javascript - Jquery验证插件和切换必填字段

javascript - 网络推送通知到期

java - 在JavaScript中使用“<g:message标签

javascript - Shopify 管理 API 无法在 Google 托管服务器上运行,但可以在本地主机上运行

javascript - 在express js中验证图片大小后才上传图片

firefox - 引用插件数据文件夹中的图像资源