2011-08-11 9 views
11

Tengo un script jQuery que devuelve la fecha actual en un cuadro de texto. Sin embargo, cuando se muestra un mes con solo un dígito (por ejemplo, 8), quiero que coloque un 0 antes (por ejemplo, 08) y que no coloque un 0 antes si tiene 2 dígitos (por ejemplo, 11).Agregar 0 a meses en jQuery date

¿Cómo puedo hacer esto? Espero que puedas entender mi pregunta. Aquí está mi código jQuery:

var myDate = new Date(); 
var prettyDate =myDate.getDate() + '' + (myDate.getMonth()+1) + '' + myDate.getFullYear(); 
$("#date").val(prettyDate); 

Respuesta

2

no me gusta mucho la concatenación de cadenas:

var month = myDate.getMonth()+1, 
    prettyData = [ 
     myDate.getDate(), 
     (month < 10 ? '0' + month : month), 
     myDate.getFullYear() 
    ].join(''); 
0
var myDate = new Date(); 
var newMonth = myDate.getMonth()+1; 
var prettyDate =myDate.getDate() + '' + (newMonth < 9 ? "0"+newMonth:newMonth) + '' +   myDate.getFullYear(); 
$("#date").val(prettyDate); 
+0

Obtuviste los valores en el operador ternario al revés;) –

+0

Vaya, presioné la tecla de símbolo equivocada, gracias por captar eso. – Griffin

1

Usted puede usar algo como :

function addZ(n) { 
    return (n < 10? '0' : '') + n; 
} 
0
(myDate.getMonth() + 1).toString().replace(/(^.$)/,"0$1") 

Me encanta :) expresiones regulares