Javascript 在IE 11中使用Momentjs日期格式时,日期出错

Javascript 在IE 11中使用Momentjs日期格式时,日期出错,javascript,momentjs,date-formatting,Javascript,Momentjs,Date Formatting,我在当前日期使用Moment.js格式函数作为 var startDate = moment(new Date()).format('MM/DD/YY'); 结果是20年6月28日 发生的情况是,它只保留年份部分:20作为“06/28/20”,在我使用新日期(startDate)之后,结果是“Mon Jun 28 1920 00:00:00 GMT+0530(印度标准时间)” 之后,当我在“06/28/20”上应用另一种格式时: 结果是06-28-1920 在Google Chrome和Fir

我在当前日期使用Moment.js格式函数作为

var startDate = moment(new Date()).format('MM/DD/YY');
结果是20年6月28日

发生的情况是,它只保留年份部分:20作为“06/28/20”,在我使用
新日期(startDate)
之后,结果是“Mon Jun 28 1920 00:00:00 GMT+0530(印度标准时间)”

之后,当我在“06/28/20”上应用另一种格式时:

结果是06-28-1920

在Google Chrome和Firefox中,第二次尝试的正确日期为:06-28-2020

我的代码是:

$(文档).ready(函数(){
var startDate=时刻(新日期())。格式('MM/DD/YY');
警报(“startDate==”+startDate+“==”+新日期(startDate));
开始日期=力矩(开始日期)。格式('MM-DD-YYYY');
警报(“startDate==”+startDate+“==”+新日期(startDate));
});

如果您使用的是力矩,请仅使用力矩。使用
date.parse()
新日期(
)(引擎盖下的相同内容)分析日期字符串是不正确的


您的方法应该是使用
时刻(日期,“DD/MM/YY”)
自动处理您面临的2000年问题。

请查找下面的片段,这可能会对您有所帮助

$(文档).ready(函数(){
var startDate=时刻(新日期())。格式('MM/DD/YY');
警报(“startDate==”+startDate+“==”+新日期(startDate));
startDate=时刻(新日期(startDate))。格式('MM-DD-YYYY');
var str=“06-28-2020”;
警报(“startDate==”+startDate+“==”+新日期(str.replaceAll(“-”,“/”));
});


Hi@alpsavrum,请对此稍作解释。对于不同的日期格式“YY-DD-MMM”、“DD-MM-YY”和“MM/DD/YY”,format(日期格式)在chrome中的行为也不一样。矩。格式不是正确的用法。像矩()格式(dateformat)一样使用它。您应该在使用它之前构造时刻。我将行var startDate=moment(new Date()).format('MM/DD/YY')转换为var startDate1=moment(new Date(),'MM/DD/YY'),它在所有浏览器中都能正常工作。您的建议是否相同,请确认。Hi@alpsavrum,moment(new Date())。format('YYYY/MM/DD')结果为2020/06/28(输出中的所需格式)。根据建议,我将上述行替换为:moment(new Date(),'yyyyy/MM/DD'),但结果为1593368656727,我们如何将此值作为format'YYYY/MM/DD'Hi@Dilip,感谢您提供的详细信息,这里的问题与alpsavrum澄清的momentjs格式方法使用有关。
startDate = moment(startDate ).format('MM-DD-YYYY');