Foros del Web » Programando para Internet » ASP Clásico »

Buscar en una base de datos (E-Commerce)

Estas en el tema de Buscar en una base de datos (E-Commerce) en el foro de ASP Clásico en Foros del Web. Hi, Pues no se si sabían pero acabo de descubrir que Access soporta en el SQL la función Instr. Por lo tanto me fue posible ...

  #1 (permalink)  
Antiguo 13/04/2002, 13:31
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Buscar en una base de datos (E-Commerce)

Hi,

Pues no se si sabían pero acabo de descubrir que Access soporta en el SQL la función Instr. Por lo tanto me fue posible hacer un pequeño buscador para una tienda virtual que estoy elaborando, utilice el siguiente código por si les sirve:

Busqueda=Split(Replace(Request.Form("busqueda "),"'","''"))
SQL="SELECT * FROM PRODUCTOS WHERE INSTR(NOMBRE,'"&Busqueda(0)&"')& quot;
For i=1 to Ubound(Busqueda)
SQL=SQL&" OR INSTR(NOMBRE,'"&Busqueda(I)&"')& quot;


Por lo que pueden ver esta basntante sencillo y hasta el momento me ha funcionado, si encuentran algun error o ven que no funciona en algo pues avisenme por fa.

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #2 (permalink)  
Antiguo 13/04/2002, 14:06
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

Gracias por compartir tus ideas

Ahora si no es mucho pedir, porque no comentas un poquitin el codigo y lo acabas :P,

Esque no me funciona ;)


Saludos Urjose

<a href="http://www.almaluz.com"><Img src="http://www.almaluz.com/banners/B_almaluz.gif"></a>
  #3 (permalink)  
Antiguo 13/04/2002, 14:09
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

Ah,

A proposito Urjose, yo tengo un minibuscador con Like, asi:

Código:
 
SQL = &quot;SELECT * FROM articulo &quot;
SQL = SQL &amp; &quot; WHERE nombre LIKE '%&quot; &amp; BUSCAR &amp; &quot;%'  ORDER BY nombre ;&quot;
	  SET rs=con.Execute (SQL)
Que ventajas ( que seguro que las hay ) tiene utilizar Instr

Saludos de nuevo amigo. ;)

<a href="http://www.almaluz.com"><Img src="http://www.almaluz.com/banners/B_almaluz.gif"></a>
  #4 (permalink)  
Antiguo 13/04/2002, 14:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

es cierto bueno no puedo poner todo por que es un poco extenso.

Busqueda=Split(Replace(Request.Form(&quot;busqueda &quot;),&quot;'&quot;,&quot;''&quot;))
SQL=&quot;SELECT * FROM PRODUCTOS WHERE INSTR(NOMBRE,'&quot;&amp;Busqueda(0)&amp;&quot;')& quot;
For i=1 to Ubound(Busqueda)
SQL=SQL&amp;&quot; OR INSTR(NOMBRE,'&quot;&amp;Busqueda(I)&amp;&quot;')& quot;
Next
SET RS=oConnProductos.Execute(SQL)

Bueno primero que nada debemos tener una pagina con cualquier nombre que vaya a la pagina donde tenemos el codigo de arriba, a esta ultima le llamaremos resultados.asp

La pagina que apunta a resultados.asp la llamaremos formulario.asp

En formulario.asp debemos tener un formulario con un Textbox llamado Busqueda.

Ahora viene lo bueno jeje

Busqueda=Split(Replace(Request.Form(&quot;busqueda &quot;),&quot;'&quot;,&quot;''&quot;))

Con la linea anterior primero limpiamos el contenido del textbox, es decir le quitamos los ' con el Replace, una vez que se limpia la cadena cortamos el contenido del campo por medio de la función Split lo cual nos convertira la variable busqueda en un Arreglo de n elementos dependiendo del numer de palabras que introdujo el usuario.

Supongamos que el usuario ingreso &quot;PHP ASP&quot; en el formulario el arreglo quedaría.

Busqueda(0)=&quot;PHP&quot;
Busqueda(1)=&quot;ASP&quot;


Ahora bien, con el codigo que mande se genera la Query de forma dinámica, ya que depende del numero de palabras.

SQL=&quot;SELECT * FROM PRODUCTOS WHERE INSTR(NOMBRE,'&quot;&amp;Busqueda(0)&amp;&quot;')& quot;

Lo anterior es la primera parte de la query ya que suponemos que al menos el usuari ingreso una palabra.

Ahora con lo siguiente se crea la query dinámica.

For i=1 to Ubound(Busqueda)
SQL=SQL&amp;&quot; OR INSTR(NOMBRE,'&quot;&amp;Busqueda(I)&amp;&quot;')& quot;
Next

Lo anterior: Desde el elemento 1, es decir el segundo, hasta el final del arreglo agrega otro INSTR. Con lo que supusimos que introdujo el usuario quedaría:

SELECT * FROM PRODUCTOS WHERE INSTR(NOMBRE,'php') OR INSTR(NOMBRE,'mysql')

Y por ultimo ejecutamos el query

SET RS=oConnProductos.Execute(SQL)

Continua...

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #5 (permalink)  
Antiguo 13/04/2002, 14:34
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

Y listo he ahi todo el chiste de esto.

Ahora bien con respecto a tu preunta del LIKE, yo utilice LIKE y resulto que cuando introducia mas de una palabra como que no me funcionaba correctamente, es decir al parecer tenian que estar las dos palabras en el campo donde realizaba la busqueda para que me regresara dicho registro. Con la query que yo acabo de postear te regresa todos los registros que tengan dicho parametro, ya que toma las palabras como independientes.

Como te comente anteriormente el LIKE a mi no me funciono bien es por ello que me vi en la necesidad de intentar esto.

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #6 (permalink)  
Antiguo 13/04/2002, 14:40
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

OK Urjose.

Tienes toda la razón del mundo.

Voy a poner en practica tus enseñanzas ( asi mejoraré algo mi minibuscador ),

Yo tambien me estoy fabricando una web de e-commerce ( pero me queda ..... uf )Ahora estoy con lo del carrito


Saludos y gracias ;)

<a href="http://www.almaluz.com"><Img src="http://www.almaluz.com/banners/B_almaluz.gif"></a>
  #7 (permalink)  
Antiguo 13/04/2002, 14:41
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

Por cierto... que error te mando o por que dices que no te funciono?

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #8 (permalink)  
Antiguo 13/04/2002, 14:51
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

No vi la Busqueda(I) de tu cadena SQL, y el problema vino porque yo puse For e=1 to Ubound(buscar), y claro, luego no encontraba la i. ; ha sido con tu explicacion cuando me he dado cuenta.

Supongo que son errores de principiante.

Saludos ( y sigue así )
  #9 (permalink)  
Antiguo 22/04/2002, 16:55
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

Hey Urjose.

Una ayudita más? :P

Estoy implementando tu estupendo buscador asi:
Código:
 
sql = &quot;SELECT * FROM articulo WHERE INSTR(nombre,'&quot;&amp;buscar(0)&amp;&quot;')&quot;
		for i=1 to Ubound(buscar)		' con este bucle añade un OR a la consulta SQL por cada palabra
		sql= sql &amp; &quot;OR INSTR(nombre,'&quot;&amp;buscar(i)&amp;&quot;')&quot;
		Next
Pero estoy migrando a SQL server en vez de Access y obtengo el siguiente error

Código:
 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC SQL Server Driver][SQL Server]'INSTR' no es un nombre de función reconocido. 

/sql/buscar.asp, line 88
De lo que resumo que INSTR en sql nada de nada :(

¿alguna instruccion compatible ?

Un Saludo amigo.


  #10 (permalink)  
Antiguo 22/04/2002, 17:28
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

Ops, en este momento no tengo documentación sobre TRANSACT-SQL (que es el SQL de SQL Server)a la mano , prometo investigar un poco para los que quieren migrar de BD, si alguien sabe pues eche una mano por este lado del foro, jeje

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #11 (permalink)  
Antiguo 23/04/2002, 22:46
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

Bad News!

Primera restricción: NO he encontrado función INSTR en TRANSACT-SQL. Por lo cual por el momento solo funciona en Access y creo que MySQL tambien lo soporta.

:(

Si alguien sabe espero que nos aporte esto.

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #12 (permalink)  
Antiguo 24/04/2002, 00:50
 
Fecha de Ingreso: junio-2001
Ubicación: Cordoba, Argentina
Mensajes: 190
Antigüedad: 23 años, 6 meses
Puntos: 0
Re: Buscar en una base de datos (E-Commerce)

Yo creo que las dos formas estan bien... la del like y la otra
la diferencia es que cuando uso &quot;and&quot; u &quot;or&quot;
en la primera se tiene que dar que todas las palabras de la busqueda coinsidan y en la segunda con una es sufuciente... Asi hice mi buscador y funciona de maravilla dando la opcion al cliente
Saludos.
  #13 (permalink)  
Antiguo 24/04/2002, 00:54
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Re: Buscar en una base de datos (E-Commerce)

Buen punto, como comente yo anteriormente a mi no me funciono.

Y por ejemplo si tengo en un campo algo asi &quot;JavaScript&quot;, y hago una busqueda de la cadena Java con LIKE, no me muestra nada.

A diferencia de si uso el INSTR.

Pero bueno es otra opción de hacer una búsqueda.

Saludos ;)

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #14 (permalink)  
Antiguo 18/02/2003, 12:53
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
__________________________________________________ __
Bad News!

Primera restricción: NO he encontrado función INSTR en TRANSACT-SQL. Por lo cual por el momento solo funciona en Access y creo que MySQL tambien lo soporta.

:(

Si alguien sabe espero que nos aporte esto.
__________________________________________________ __

Alguien supo como hacer esto con sql?
__________________
Juan Pablo
  #15 (permalink)  
Antiguo 18/02/2003, 12:59
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
En SQL Server puedes utilizar el LIKE

Busqueda=Split(Replace(Request.Form("busqueda"),"' ","''"))
SQL="SELECT * FROM PRODUCTOS WHERE NOMBRE LIKE '%"&Busqueda(0)&"%' "
For i=1 to Ubound(Busqueda)
SQL=SQL&" OR NOMBRE LIKE '%"&Busqueda(i)&"%' "
Next

Saludos
  #16 (permalink)  
Antiguo 18/02/2003, 13:03
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
osea que conviene unificar, porque de esta manera se puede utilizar tanto en access como sql.

thanks man!!!!


saludos...
__________________
Juan Pablo
  #17 (permalink)  
Antiguo 18/02/2003, 13:15
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
Urjose.

si tratas de buscar la palabra Java dentro del texto Javascript me da la impresion de que no aparecia porque estabas utilizando mal la clausula like.

segun como posteaste en tu ultimo mensaje con ese codigo deberia encontrarla...

si colocan algo asi

Like '%" & Texto & "%'

quiere decir que buscara dentro de la tabla cualquier conjunto de caracteres que este contenido en una cadena larga

ej.

Texto: ol

esto puede buscar

Hola
olga
aol
etc....

si quieren buscar solo cadenas con el inicio de un texto deben usar el operador % al final de la busqueda y no entre el texto

Like ol%

y solo listara

olvido
olga
etc...

trabaja igual que cuando se busca un archivo en el explorador

*cadena* ó cadena* ó *cadena
  #18 (permalink)  
Antiguo 18/02/2003, 13:15
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
te hago una pregunta...

a que se puede deber este error, que me tira tratando de usar tu buscador?


Gracias de antemano.
__________________
Juan Pablo
  #19 (permalink)  
Antiguo 18/02/2003, 13:16
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
perdon... no puse el error.


ahi va:

Error de Microsoft VBScript en tiempo de ejecución error '800a0009'

El subíndice está fuera del intervalo: '[number: 0]'

/BIBLIOTECA/busquedaprueba3.asp, line 26
__________________
Juan Pablo
  #20 (permalink)  
Antiguo 18/02/2003, 13:40
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
ESTAS HACIENDO UN RECORRIDO DE ALGUN VECTOR O ALGO POR EL ESTILO?

MUESTRA EL CODIGO
  #21 (permalink)  
Antiguo 18/02/2003, 13:44
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
ahí va:

busqueda = ucase(cstr(trim(request.querystring("busqueda"))))

Busqueda=Split(Replace(Request.Form("busqueda"),"' ","''"))
strsql="SELECT * FROM PRODUCTOS WHERE NOMBRE LIKE '%"&Busqueda(0)&"%' "
For i=1 to Ubound(Busqueda)
strsql=strsql&" OR autor LIKE '%"&Busqueda(i)&"%' "
Next
SET objRS=objConn.Execute(SQL)


dim encontrados
encontrados = 0
%><table>
<tr align = center><td bgcolor = "#00008b" align = center WIDTH = 800><font color = "#ffffff"><%Response.Write " <h4>Resultados de la busqueda en base a la aparición<b><i> " & busqueda & "</b><h4></i></font></td></tr><br>"



While Not objRS.EOF%>
<% if colorcelda="#ffffff" then
colorcelda="#87ceeb"
else
colorcelda="#ffffff"
end if %><P>

<table bgcolor="<%=colorcelda%>"ALIGN= CENTER WIDTH = 800 >
<tr><td FONT STYLE= VERDANA, ARIAL SIZE=2 align = <%=alineado%>>Autor: <%=objRS("AUTOR")%></FONT></td></tr>
<tr><td FONT STYLE= VERDANA, ARIAL SIZE=2 align = <%=alineado%>>Título: <%=objRS("TITULO")%></FONT></td></tr>
<tr><td FONT STYLE= VERDANA, ARIAL SIZE=2 align = <%=alineado%>>Publicación: <%=objRS("PUBLICACION")%></FONT></td></tr>
<tr><td FONT STYLE= VERDANA, ARIAL SIZE=2 align = <%=alineado%>>Fuente: <%=objRS("FUENTE")%></FONT></td></TR></table>
<tr><td FONT STYLE= VERDANA, ARIAL SIZE=2 ><input type = "checkbox" name= "cons" value =<%=objrs("id")%>></font></a></td>
<%
encontrados = encontrados + 1
%><%
objRS.MoveNext
Wend
%><br><%
response. write "TOTAL " & encontrados & " COINCIDENCIAS"
objRS.Close
objConn.Close
Set objRS = Nothing
Set objConn = Nothing
__________________
Juan Pablo
  #22 (permalink)  
Antiguo 18/02/2003, 14:02
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
QUE CARACTER ESTAS USANDO PARA SEPARAR LA CADENA Y TRASNSFORMALA EN SPLIT?.

NO LO VEO

Split(Replace(Request.Form("busqueda"),"'","''"))

RECUERDA

VECTOR = SPLIT(CADENA,CARACTER SEPARADOR)

ADEMAS CUANDO RECORRAS EL VECTOR PARTE TU FOR DESDE 0 NO DE 1.
  #23 (permalink)  
Antiguo 18/02/2003, 14:21
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
Esta en la segunda o tercer línea del codigo que te mandé antes.
__________________
Juan Pablo
  #24 (permalink)  
Antiguo 18/02/2003, 14:28
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
VUELVO A REPETIR.

NO VEO POR NINGUN LADO EL CARACTER SEPARADOR QUE FORME EL SPLIT

Busqueda=Split(Replace(Request.Form("busqueda"),"' ","''"))
  #25 (permalink)  
Antiguo 18/02/2003, 14:37
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
Gracias por tu tiempo

Disculpá mi ignorancia....

Lo que me estas diciendo es con que separo en el form?
ej busqueda: "asp php", te referis a ""
o a "asp""php"
o sigo siendo ignorante?

por otro lado, desde hoy estoy por preguntarte, como se denominan los caracteres que te permiten buscar (en este caso), de diferente manera ej: % en al% permite buscar las palabras que comienzan con al. Hay alguno mas?

Asi puedo buscar algún link?
__________________
Juan Pablo
  #26 (permalink)  
Antiguo 18/02/2003, 14:45
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 23 años, 1 mes
Puntos: 0
Mira para formar el split debes tener en tu variable algun caracter separador en comun...

ej..si tu data es esta.

01/02/03/04...

el split quedaria formado de la siguiente manera

Código:
vector = split(data,"/")
asi tu vector kedaria asi

vector(0) = 01
vector(1) = 02
etc..

pero en tu codigo no estas colocando el caracter separador..

para que entiendas mejor te limpiare tu variable para que te des cuenta

Código:
data=Replace(Request.Form("busqueda"),"'","''")
Busqueda =Split(data)
te das cuenta que no tienes un caracter separador ahora?




con respecto a el simbolo % en tu data...creo que deberias hacer un replace por otro simbolo para que no entres en conflicto con este operador en alguna consulta sql donde utilices el like...asi como haces el replace de la comilla simple.

saludos
  #27 (permalink)  
Antiguo 18/02/2003, 15:06
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
podría ser así?
Busqueda=Split(Replace(Request.Form("busqueda"),"/","/"))

que es el tercer parámetro:
VECTOR = SPLIT(CADENA,CARACTER SEPARADOR)..en el código hay un parámetro mas, y no encuentro ningún ej., incluso estuve viendo mensajes tuyos, pero no encuentro tres parametros por ningun lau.

de todas maneras el error sigue siendo el que te mostré anteriormente.


saludos
__________________
Juan Pablo
  #28 (permalink)  
Antiguo 18/02/2003, 15:17
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
Me he mandado una de cowboy... cosa de principiantes...
me vas a matar, pero estaba pasando los datos con get.

sorry...

pero ahora me tira este error.

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

Busqueda=Split(Replace(Request.Form("busqueda"),"/","/"))
strsql="SELECT * FROM PUBLICACIONES WHERE NOMBRE LIKE '%"&Busqueda(0)&"%' "
For i=1 to Ubound(Busqueda)
strsql=strsql&" OR autor LIKE '%"&Busqueda(i)&"%' "
Next
SET objRS=objConn.Execute(strsql) 'LINEA 30

gracias ya no solamente por tu tiempo, sino tu paciencia.

saludos
__________________
Juan Pablo
  #29 (permalink)  
Antiguo 18/02/2003, 15:17
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años
Puntos: 1
Que tal esto

Busqueda=Split(Replace(Request.Form("busqueda"),"/","/")," ")
strsql="SELECT * FROM PRODUCTOS WHERE NOMBRE LIKE '%"&Busqueda(0)&"%' "
If Ubound(Busqueda)>0 Then
For i=1 to Ubound(Busqueda)
strsql=strsql&" OR autor LIKE '%"&Busqueda(i)&"%' "
Next
End If
SET objRS=objConn.Execute(SQL)

Saludos
  #30 (permalink)  
Antiguo 18/02/2003, 15:24
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 22 años
Puntos: 0
de todas formas no funca!!
el mismo error
__________________
Juan Pablo
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 21:52.