Foros del Web » Programando para Internet » Javascript »

Formato a un número entero ¿se puede?

Estas en el tema de Formato a un número entero ¿se puede? en el foro de Javascript en Foros del Web. Saludos a todos. Tengo un pequeño problema, en un formulario tengo un calendario pop-up para escoger dos fechas, "de" y "hasta", para generar un reporte, ...
  #1 (permalink)  
Antiguo 06/03/2006, 12:25
 
Fecha de Ingreso: enero-2006
Mensajes: 169
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Formato a un número entero ¿se puede?

Saludos a todos.

Tengo un pequeño problema, en un formulario tengo un calendario pop-up para escoger dos fechas, "de" y "hasta", para generar un reporte, el problema es que consegui en la web un script que valida las fechas en todo aspecto; pero el script valida para el formato aaaa/mm/dd y mi formato en el formulario esta asi aaaa/m/d, obviamente si se escoge como mes Noviembre por ejemplo el formato lo pone asi aaaa/mm/d.
¨
Para que quede mas claro:

Si se escoge como fecha 3 de Marzo de 1999 mi script lo pone asi: 1999/3/3
Si se escoge como fecha 25 de Noviembre de 1999 mi script lo pone asi: 1999/11/25

El problema es cuando el día o el Mes es de un solo dígito ya que el script que valida las fechas necesita 2 digitos, lo que quiero lograr es que si el dia o el mes es de 1 digito le concatene un "cero" a la izquierda para que sean 2 digitos, es decir:

Si la fecha es 3 de Marzo de 1999, que lo muestre asi: 1999/03/03

En el codigo del calendario al momento de elegir una fecha, tanto el año como el mes y el dia los convierte de tipo "string (cadena)" a tipo "int (entero)"; mediante la funcion parseInt().

La pregunta de los 100,00000 millones es ¿Hay alguna funcion en javascript que le de formato a un numero para poder ponerle ese "cero" a la izquierda si la longitud del dia o mes es igual a 1?

O tambien ¿de que manera se le puede concatenar un cero a la izquierda a un numero entero?

Mil gracias de antemano
__________________
"La adulación es una moneda que empobrece al que la recibe"
  #2 (permalink)  
Antiguo 06/03/2006, 12:35
 
Fecha de Ingreso: mayo-2005
Mensajes: 510
Antigüedad: 19 años
Puntos: 1
Yo no sé si existe la función q buscas... :( Pero si no encuentras otra cosa mejor, siempre puedes tratar la cadena, y decirle, por ejemplo, para el tema de q el mes tenga dos ceros, q coga lo q está entre el primer carácter "/" y el segundo, y si es de longitud=1 pues q te añada un cero a la izquierda... No sé cuáles son los comandos adecuados para hacer eso, pero de esa forma puedes tratar la cadena y comprobar la longitud de los meses y los días. Es sólo una opinión, tiene q haber otras soluciones más "elegantes".
Un saludo, AnDrEa
  #3 (permalink)  
Antiguo 06/03/2006, 12:41
Avatar de onlykfk  
Fecha de Ingreso: agosto-2005
Ubicación: 20°45' Latitud Norte 100°
Mensajes: 121
Antigüedad: 18 años, 8 meses
Puntos: 1
Es un problema clasico a la hora de validar fechas.

Lo mas recomendable es ke vos mismo crees tu propia funcion validadora y que parta de la cadena que genera el calendario...

ejemplo:

tu calendario te regresa algo asi: 2006/5/12
puedes obtener la fecha correcta (2006/05/12) de la siguiente manera
var fh = fechacalendario.split("/"); //Cortas en partes la cadena que obtienes del calendario
var fhcorrecta = fh[0] + "/" + ( (parseInt(fh[1]) < 10) ? ("0" + fh[1]) : fh[1] ) + "/" + ( (parseInt(fh[2]) < 10) ? ("0" + fh[2]) : fh[2] );
__________________
Yo tan sólo se, que no he senado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.