时刻js将日期从一种格式转换为另一种格式

时间:2016-08-12 11:22:16

标签: momentjs

我使用时刻js转换日期变量格式

moment("23MAY68", 'DDMMMYY').format('YYYY-MM-DD');
moment("23MAY99", 'DDMMMYY').format('YYYY-MM-DD');

直到68年,输出为2068.从69年开始,输出是1969而不是2069.在moment.js中是否有语法或参数,我可以提及它使用2069而不是1969?

http://plnkr.co/edit/ljXuskMsUAuJnpkqMPUn?p=preview

2 个答案:

答案 0 :(得分:13)

从文档开始:

  

默认情况下,假定高于68的两位数年份在1900年以及68年或以下的年份假定为2000年。这可以通过替换moment.parseTwoDigitYear方法来更改。

因此,如果您在代码中替换moment.parseTwoDigitYear,则会有2069而不是1969。

这是一个工作示例:



moment.parseTwoDigitYear = function(year){
  return parseInt(year, 10) + 2000;
};

var s1 = moment("23MAY68", 'DDMMMYY').format('YYYY-MM-DD');
var s2 = moment("23MAY99", 'DDMMMYY').format('YYYY-MM-DD');

console.log(s1, s2);

<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:5)

是的。只需使用正确的格式进行解析

moment("23MAY2099", 'DDMMMYYYY').format('YYYY-MM-DD');