Como poner la hora de España en un servidor extranjero?

toniquio
28 de Febrero del 2002
Pues eso, resulta que hospedo mis webs en un servidor yanki y claro, en un libro de visitas que he instalado me sale la hora del pais.
A ver que me explique, me sale en castellano porque le metí una función muy simple que traduce la hora al castellano, pero me sigue mostrando la hora de USA.
Que funcion puedo agregar para que aumente en 6 las horas que ponga en el libro?

Gracias

agmiron
28 de Febrero del 2002
A mí me pasó lo mismo cuando hice mis pruebas en www.domaindlx.com.

Es muy sencillo.

Lo único que tienes que hacer es extraer la hora y los minutos y tratarlos individualmente:

<%
Dim dttHora, dttMinutos
dttHora= Hour(time)
dttMinutos=minute(time)

'Ahora sumamos el horario correspondiente a
'España: p. ej. +6 Horas y + 30 minutos

dttHora=cInt(dttHora) + 6
dttMinutos= cInt(dttMinutos) + 30

'Ahora controlamos que la hora no sea mayor de 23
'y que los minutos no sean más de 59

If dttHora>23 Then
dttHora=dttHora-24
End If

If dttMinutos>59 Then
dttMinutos-60
dttHora=dttHora+1
If dttHora=24 Then
dttHora=0
End If
End If

'Ahora sólo queda mostrar la hora
Dim dttHoraFinal

dttHoraFinal=dttHora & ":" & dttMinutos
dttHoraFinal=cdate(dttHoraFinal)
dttHoraFinal=FormatDateTime(dttHoraFinal,4)

'Mostramos la Hora
Response.Write(dttHoraFinal)

'Y ya está. A lo mejor hay una forma más sencilla,
'pero esta, a mí, me funciona.


toniquio
28 de Febrero del 2002
Gracias agmiron, pero...
Verás, estoy un poco verde aún en el tema de ASP, y quisiera que me explicaras donde debo meter ese código y si debo borrar el código:

<%=FormatDateTime(Now, vbLongDate)%>

vamos que como lo hago?

gracias

pedroramos
28 de Febrero del 2002
Pon esta línea antes de la que has posteado:

<% Session.lcid=7178 %>


enric
28 de Febrero del 2002
Creo que tienes una solución mejor que la que propone agmiron, aunque no tan limpia. La gracia de los libros de visita no es que salga la fecha española ni la de USA, si no que salga la fecha y hora que tenía el usuario cuando se conecto a tu web, sea de donde sea.
Para solucionarlo es muy sencillo. Solo tienes que añadir en el formulario de ASP un campo del tipo "hidden". En ese campo debes guardar la fecha local de la máquina, que puedes coger a través de javascript . Luego, desde ASP solo tienes que coger el contenido y entrarlo en la base de datos.

toniquio
28 de Febrero del 2002
¿Podrías poner algún ejemplo de como hacer eso o mandarmelo al mail?

Gracias

angeliglesias
28 de Febrero del 2002
en el caso de tener 7 horas de diferencia

formatdatetime(dateAdd("h",7,now()),4)

lo de <%Session.LCID=1034%>
es para que aparezca en el idioma castellano. El numero que habia encontrado yo para españa es el 1034