Javascript 错误的日期格式

标签 javascript date dom

我在 javascript 中从字符串格式化日期对象,但是当我打印格式化日期时,我发现它增加了两年!!

alert("Date1-Without-conversion:" + document.getElementById(arr[0]).value);
alert("Date2-Without-conversion:" + document.getElementById(arr[1]).value);

它打印:

30/9/2018
04/10/2018

date1Str=document.getElementById(arr[0]).value;
date2Str=document.getElementById(arr[1]).value;

date1 = new Date(date1Str);
date2 = new Date(date2Str);

alert("Date1-After-conversion:" + date1);
alert("Dat2-After-conversion:" + date2);

打印:

Tue Jun 09 2020 00:00:00 GMT+0200(Egypt Standard Time)
Tue Apr 10 2018 00:00:00 GMT+0200(Egypt Standard Time)

问题是当我使用:

date1.getFullYear() OR `date2.getFullYear()` it prints 2020 !!!

怎么会??

最佳答案

如评论所述,Date 的解析还有一些不足之处。你可以使用这个构造函数来简洁

new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]

关于Javascript 错误的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18703721/

相关文章:

javascript - 名字和姓氏在 mongoDB 中组合搜索

javascript - 现在有必要配置React.js环境(Webpack,Babel)吗?

javascript - 如何检测按钮按下并保持 Angular 时间。

javascript - 修改Google 'Add Bookmark' bookmarklet 存储书签无弹窗?

dom - 在React组件中关注输入字段–尝试创建引用时出现类型错误

javascript - 在定义后修改自定义元素类

javascript - 如何迭代两个对象并根据 JS 中的另一个更新一个值?

javascript - 为什么 Controller 中的数组赋值会破坏 Angular 代码?

Javascript时刻-时区,不同时区日期之间的差异

javascript - 新日期中的毫秒产生意外结果