2017-09-15 1 views
0

Comment convertir cette date non formatée de 112889 (mmddyy) à un format spécifique comme 28/11/89? J'ai cherché n'importe où dans google concernant ceci mais n'ai trouvé aucune réponse spécifique.Comment convertir 112889 (mmddyy) en 28/11/89 ou 28/11/1989

recherches de référence:

  1. https://forums.asp.net/t/1987249.aspx?How+can+i+convert+Date+1365715800000+format+to+MM+dd+yyyy
  2. Convert number into date using javascript

Im aussi penser à momentjs mise en forme, mais n'a trouvé aucun document à ce sujet ou je ne ne manqué

+1

Jetez un oeil à la bibliothèque moment.js. https://momentjs.com/docs/. moment ("112889", "MMDDYY"); –

+0

sûr! @SubirKumarSao –

Répondre

2

aide La bibliothèque de momentjs vous permet de spécifier le format de votre chaîne d'entrée, c'est-à-dire MMDDYY dans ce cas.

var d = new moment("112889", "MMDDYY"); 
 
document.getElementById('dated').innerText = d.format('MM/DD/YYYY');
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> 
 
<div id="dated"></div>

1

S'il vous plaît jeter un oeil bibliothèque moment.js. essayez ce code

var date = moment('112889',"MMDDYY").format('MM/DD/YY'); 
    console.log(data); 
0

Si vous ne souhaitez pas utiliser une bibliothèque et si vous savez que votre entrée est toujours va être au format mmddyy, vous pouvez faire quelque chose comme ceci:

var str = '112889'; 
var arr = str.match(/.{1,2}/g); // Splits string into 2 character chunks 
var d = new Date(arr[2],arr[0],arr[1]); 
console.log(d); 

Mais ce n'est pas tout à fait correct puisque si vous donnez une chaîne comme 112804, JS (ou n'importe qui d'ailleurs) ne saura pas si c'est 1904 ou 2004 et il va ramasser 1904. Dans ce cas, vous devez spécifier explicitement:

var str = '112896'; 
var arr = str.match(/.{1,2}/g); // Splits string into 2 character chunks 
var d = new Date(arr[2], arr[0], arr[1]); // new Date(yy,mm,dd); 
var presentYear = Number((new Date()).getFullYear()); 
var dateYear = Number(d.getFullYear()); 
if (presentYear >= dateYear + 100) { // If adding 100 to year makes it greater than present year, then move to 2000s 
    d = new Date('20' + arr[2], arr[0], arr[1]); 
} 
console.log(d);