Autor
|
Tema: [Resuelto] [Pregunta]: Tiempo adaptable (Leído 3,906 veces)
|
Leguim
Desconectado
Mensajes: 720
|
X usuario de eeuu publica un comentario en un sitio a las 4 de la tarde en su horario local y ese comentario lo ve alguien que viva en argentina... y cuando vea la hora como se podria hacer que esa hora de eeuu se transforme a hors local srgentins
|
|
« Última modificación: 22 Febrero 2020, 23:59 pm por #!drvy »
|
En línea
|
|
|
|
engel lex
|
ya hablamos de esto... guardas el tiempo en unix y conviertes en impresion...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
MinusFour
|
Con javascript, creo que ya te lo han dicho al menos otras dos personas. Pero si un tema no te basta, te lo vuelvo a repetir. La información de la zona horaria del usuario no se envia al servidor por defecto. Si quieres que la información se procese en el servidor vas a tener que recoger el dato del cliente pero para eso... también necesitas javascript. Así que es mejor enviar el timestamp y simplemente dejar que el cliente lo procese... let ts; //aqui obtienes el timestamp de tu servidor let d = new Date(ts * 1000); //objeto fecha con hora localizada
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Con javascript, creo que ya te lo han dicho al menos otras dos personas. Pero si un tema no te basta, te lo vuelvo a repetir. La información de la zona horaria del usuario no se envia al servidor por defecto. Si quieres que la información se procese en el servidor vas a tener que recoger el dato del cliente pero para eso... también necesitas javascript. Así que es mejor enviar el timestamp y simplemente dejar que el cliente lo procese... let ts; //aqui obtienes el timestamp de tu servidor let d = new Date(ts * 1000); //objeto fecha con hora localizada
Haber si entendí... en la variable TS va a ir el timestamp que está mi base de datos la cual va a tener el horario de mi servidor (Argentina, Buenos Aires) y lo que almacene en la variable D será el tiempo pero adaptado dependiendo la hora del navegador del usuario correcto?
|
|
|
En línea
|
|
|
|
#!drvy
|
Esto ya te lo he mencionado en otros posts, te estas haciendo un lío con las definiciones de timestamp. Casi siempre cuando alguien menciona TS, se refiere a Unix Timestamp, este formato no lleva zona horaria. Es UTC. El TS (Timestamp) en el que estas pensando tu, es el TS de MySQL que es tipo 2003-12-31. Son dos formatos diferentes. Pero casi siempre, va a ser el primero, que son los segundos que han pasado desde 1970. https://en.wikipedia.org/wiki/Unix_timeY este se obtiene con time(). https://www.php.net/manual/en/function.time.phpSaludos
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Ahora entendí (creo) Voy a empezar a programar y cualquier problema dejo esto abierto por las dudas.. Gracias.
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Con javascript, creo que ya te lo han dicho al menos otras dos personas. Pero si un tema no te basta, te lo vuelvo a repetir. La información de la zona horaria del usuario no se envia al servidor por defecto. Si quieres que la información se procese en el servidor vas a tener que recoger el dato del cliente pero para eso... también necesitas javascript. Así que es mejor enviar el timestamp y simplemente dejar que el cliente lo procese... let ts; //aqui obtienes el timestamp de tu servidor let d = new Date(ts * 1000); //objeto fecha con hora localizada
Por curiosidad por qué se tiene que multiplicar por 1000? entiendo que si no se hace eso el año va a ser 1970 (ya lo probé) pero la idea no es que lo que muestre la función de PHP time(); no requiera de ninguna operación como multiplicar por 1000 para que muestre el tiempo actual, si uso ese time(); unix (creo que se dice así) si uso esos segundos en código PHP no tengo necesidad de multiplicar por 1000, entonces por qué en javascript si hace falta?
|
|
|
En línea
|
|
|
|
MinusFour
|
Por curiosidad por qué se tiene que multiplicar por 1000? entiendo que si no se hace eso el año va a ser 1970 (ya lo probé) pero la idea no es que lo que muestre la función de PHP time(); no requiera de ninguna operación como multiplicar por 1000 para que muestre el tiempo actual, si uso ese time(); unix (creo que se dice así) si uso esos segundos en código PHP no tengo necesidad de multiplicar por 1000, entonces por qué en javascript si hace falta?
javascript trabaja con milisegundos, php con segundos.
|
|
|
En línea
|
|
|
|
Leguim
Desconectado
Mensajes: 720
|
Ahh okay, gracias!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
{Resuelto} [vbs] Pregunta sobre inputbox..
Scripting
|
xassiz_
|
4
|
3,669
|
16 Septiembre 2009, 17:46 pm
por xassiz_
|
|
|
[Resuelto] Esperar cierto tiempo para empezar a buscar
Desarrollo Web
|
:ohk<any>
|
2
|
2,195
|
7 Agosto 2015, 22:05 pm
por :ohk<any>
|
|
|
[Resuelto] como puedo hacer que cambie las imágenes cada x tiempo¿?
Desarrollo Web
|
xGENiiiuS
|
3
|
3,054
|
23 Enero 2016, 23:11 pm
por xGENiiiuS
|
|
|
[Resuelto] como generar un código aleatorio con tiempo de duración?
PHP
|
pancho1061
|
1
|
2,297
|
26 Marzo 2018, 02:15 am
por engel lex
|
|
|
[Resuelto] ¿Existe librería para calcular el tiempo pasado entre dos fechas?
PHP
|
Leguim
|
1
|
2,854
|
7 Febrero 2020, 16:19 pm
por EdePC
|
|