Retroceder   Foros del Web > Programación para sitios web > Perl y CGI

Respuesta
 
Herramientas Desplegado
Antiguo 04-feb-2008, 08:27   #1 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
fechas

Hola

Tengo una aplicación que llama a nuestro proveedor de registro de dominios..

Esto nos sirve para renovar dominios.. De tal forma que el regisrador nos devuelve la fecha de nuevo registro y esta se mete en la base de datos de nustro sistema

El problema es que desde hace un tiempo no nos funciona... Ellos devuelven la fecha pero esta no se mete e la base de datos o lo hace mal..

Lo único qu ehe podido ver es que el formato de fecha de uestra db es año-mes-dia y ellos justo lo mandn al contrario mes-dia-año.

No se si este pueda ser el problema... Pero d ser así ¿como puedo solucionar esto??

Gracias
playa está desconectado   Responder Citando
Antiguo 04-feb-2008, 09:51   #2 (permalink)
Colaborador
jferrero está en el buen camino
 
Avatar de jferrero
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 332
Re: fechas

Si el proveedor va a dar la fecha en el mismo formato, siempre, entonces, con una expresión regular muy sencilla, se podría traducir a vuestro formato.
jferrero está desconectado   Responder Citando
Antiguo 04-feb-2008, 11:58   #3 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

si, almenos hasta la fecha lo había hecho.

Como puedo hacer para pasar de a-m-d a m-d-a en perl.

Gracias
playa está desconectado   Responder Citando
Antiguo 04-feb-2008, 12:07   #4 (permalink)
Colaborador
jferrero está en el buen camino
 
Avatar de jferrero
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 332
Re: fechas

Código:
$fecha =~ s/(....)-(..)-(..)/$2-$3-$1/;
jferrero está desconectado   Responder Citando
Antiguo 05-feb-2008, 03:32   #5 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

me temo que algo hago mal, no hay forma no me devuelve valor alguno..

He puesto:

$fecha =~ s/$valoretorno/$2-$3-$1/;

donde $valoretorno es la fecha en el formato que yo la recibo

Y no da ningún resultado
playa está desconectado   Responder Citando
Antiguo 05-feb-2008, 09:05   #6 (permalink)
$moderador{'Esteban'}
monoswim llegará a ser famoso muy prontomonoswim llegará a ser famoso muy pronto
 
Avatar de monoswim
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.322
Enviar un mensaje por MSN a monoswim
Re: fechas

porque en la regexp de

$fecha =~ s/(....)-(..)-(..)/$2-$3-$1/;

las variables $1 $2 $3 se llenan con lo que devuelven los paréntesis...

o sea que en esa línea ya quedca la fecha bien configurada...

__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
monoswim está desconectado   Responder Citando
Antiguo 05-feb-2008, 09:21   #7 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

he conseguido hacer que muestre algún valor al ponerlo entrecomillado:

$fecha ="~ s/$valoretorno/$2-$3-$1/";

Pero lo que da es:

~ s/01-10-2015/--/

que no es lo buscado
playa está desconectado   Responder Citando
Antiguo 05-feb-2008, 10:03   #8 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

He probado de esta forma:

$fecha =~ s/$valoretorno/$2-$3-$1/;
$a = $1;
$b = $2;
$c = $3;
$nuevafecha= "$b-$c-$a";

Pero el resultado que obtengo es:

--

Vaya, los 2 guiones, no recoge valor alguno
playa está desconectado   Responder Citando
Antiguo 05-feb-2008, 12:01   #9 (permalink)
$moderador{'Esteban'}
monoswim llegará a ser famoso muy prontomonoswim llegará a ser famoso muy pronto
 
Avatar de monoswim
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.322
Enviar un mensaje por MSN a monoswim
Re: fechas

prueba así...

$fecha =~ s/(....)-(..)-(..)/$2-$3-$1/;

o

$valoretorno =~ s/(....)-(..)-(..)/$2-$3-$1/;

en que variable tienes la fecha ?

Te recomiendo que entres a www.perlenespanol.com y veas la sección de tutoriales...

__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
monoswim está desconectado   Responder Citando
Antiguo 05-feb-2008, 14:49   #10 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

bueno... la cuestión es que el valor de retorno es por ejemplo:

2008-05-05

Con lo que si hago:

$fecha =~ s/$valoretorno/$2-$3-$1/;

realmente lo que estoy poniendo es:

$fecha =~ s/2008-05-05/$2-$3-$1/;

En lugar de:

$fecha =~ s/(2008)-(05)-(05)/$2-$3-$1/;

No se si esos parentesis (..) son necesarios pero claro el valor yo lo recibo así "2008-05-05" y no (2008)-(05)-(05).. Entiendo que ese puede ser el problema..

Lo que no se es como salvarlo
playa está desconectado   Responder Citando
Antiguo 06-feb-2008, 03:45   #11 (permalink)
$moderador{'Esteban'}
monoswim llegará a ser famoso muy prontomonoswim llegará a ser famoso muy pronto
 
Avatar de monoswim
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.322
Enviar un mensaje por MSN a monoswim
Re: fechas

Los paréntesis solamente cargan en las variables numéricas el valor que haya adentro, o sea, que los paréntesis hacen que $1 sea igual a 2008, $2 contenga 05 y $3 tenga 05...

y no necesitas enviarlo a otra variable, hacé directamente lo que te pusimos

$fecha =~ s/(....)-(..)-(..)/$2-$3-$1/;

que te deja el $fecha como quieres...

Saludos
__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
monoswim está desconectado   Responder Citando
Antiguo 06-feb-2008, 04:18   #12 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

Claro el problema es que yo no recibo la fecha con los parentesis..

Lo qu recibo es 2008-05-05

Entonces, lo que tendría que hacer primero es dividir esa fecha en 3 variables y luego de ahí ya meter las tres variables en esa función...

¿como puedo separar ese valor que recibo en año, día y mes...??

Creo que si es así con eso estará resuelto e problema
playa está desconectado   Responder Citando
Antiguo 06-feb-2008, 06:03   #13 (permalink)
$moderador{'Esteban'}
monoswim llegará a ser famoso muy prontomonoswim llegará a ser famoso muy pronto
 
Avatar de monoswim
 
Fecha de Ingreso: noviembre-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 7.322
Enviar un mensaje por MSN a monoswim
Re: fechas

Cita:
Te recomiendo que entres a www.perlenespanol.com y veas la sección de tutoriales...
En serio, te lo recomiento mucho, por ejemplo hay 2 tutoriales que hablan sobre expresiones regulares, que es esto que estamos haciendo...

Los paréntesis son parte de la expresión regular, NO del contenido de la variable !!!

ya sabemos que la fecha no tiene los paréntesis, probalo que te funcionará !!!

si no te gusta esto de las expresiones puedes probar con algo así

my ($ano, $mes, $dia) = split(/-/, $fecha);

y luego haces

my $nuevaFecha = "$mes-$dia-$ano";

así talvés es un poco más intuitivo...

__________________
MonoSwim

Antes era fanfarrón y canchero, ahora soy perfecto !!!!!!!
monoswim está desconectado   Responder Citando
Antiguo 06-feb-2008, 13:12   #14 (permalink)
playa ha deshabilitado el karma
 
Fecha de Ingreso: julio-2005
Mensajes: 38
Re: fechas

Gracias, si con esto me está funcionando.
playa está desconectado   Responder Citando
Antiguo 07-feb-2008, 08:51   #15 (permalink)
Colaborador
jferrero está en el buen camino
 
Avatar de jferrero
 
Fecha de Ingreso: mayo-2006
Ubicación: Valladolid
Mensajes: 332
Re: fechas

Código:
$valoretorno = '2008-05-05';
$valoretorno =~ s/(....)-(..)-(..)/$2-$3-$1/;
print $valoretorno;
jferrero está desconectado   Responder Citando
Respuesta
Calificación: Calificación de Tema: 1 votos, 3,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 02:50.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93