Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Ajustar hora de Event Timer js  (Visto 1656 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline conejowolf Posteado: August 14, 2017, 09:15:04 PM | Modificado: August 14, 2017, 09:59:56 PM by conejowolf

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 0
  • Gracias recibida: 2206
  • at
Hola!
Este código lo creo @Xysad  , y tiene un problemita...
No se de donde caranchos setea la hora, por que la hora local no es. El codigo esta leyendo la hora de algun lado externo o yo soy ciego y no encuentro la hora en el codigo.
La cuestion es que me di cuenta q no lee la hora local, xq cambie el reloj de mi pc (tengo la web en mi pc) y los timers ni se mosquearon, siguieron igual..

En fin, @Xysad  vos lo creaste, me das una mano porfis?


EDIT ==============================
BUGASO!

"El codigo lo que hace es leer la hora de donde estas visualizando la web, no lee la hora del host."

"Si me acabo de dar cuenta, lo acabo de ver. Y esta terriblemente mal eso!!
Porque si un evento empieza a las 5:00 hora del server.

Yo en arg son las 4:30 , me sale q faltan 30 minutos... pero en otro pais q son las 5:30  , le sale que ya paso el evento! cuando enrealidad aun no sucede.. Esta muy mal :/"



Codigo:
Code: [Select]
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script>
var Events = {};

Events.text = [
['starts in ', '<font color="green">open, to start </font>'],
['will appear in ', '<font color="red">hurry up, left </font>']
];

Events.sked = [
['Blood Castle - ', 0, '00:00', '04:00', '05:00', '08:00', '12:00', '16:00', '20:00'],
['Devil Square - ', 0, '02:30', '06:30', '10:30', '14:30', '18:30', '22:30'],
['Chaos Castle - ', 0, '01:00', '05:00', '09:00', '13:00', '17:00', '21:00'],
['White Wizard - ', 0, '03:30', '06:30', '09:30', '12:30', '15:30', '18:30', '21:30'],
['Golden Invasion - ', 0, '00:00', '06:00', '12:00', '18:00'],
['Loren Deep - ', 0, '18:00'],
['HAPPY HOUR - ', 0, '21:00'],
];

Events.init = function(e)
{
if (typeof e == "string") var g = new Date(new Date().toString().replace(/\d+:\d+:\d+/g, e));

var f = (typeof e == "number" ? e : (g.getHours() * 60 + g.getMinutes()) * 60 + g.getSeconds()),
q = Events.sked,
j = [];

for (var a = 0; a < q.length; a++)
{
var n = q[a];
for (var k = 2; k < q[a].length; k++)
{
var b = 0,
p = q[a][k].split(":"),
o = (p[0] * 60 + p[1] * 1) * 60,
c = q[a][2].split(":");

if (q[a].length - 1 == k && (o - f) < 0) b = 1;

var r = b ? (1440 * 60 - f) + ((c[0] * 60 + c[1] * 1) * 60) : o - f;

if (f <= o || b)
{
var l = Math.floor((r / 60) / 60),
l = l < 10 ? "0" + l : l,
d = Math.floor((r / 60) % 60),
d = d < 10 ? "0" + d : d,
u = r % 60,
u = u < 10 ? "0" + u : u;
j.push('<div class="event">' + '<b class="time" style="color: #FFBF00;">' + n[0] + q[a][b ? 2 : k] + '</b><div class="small"><span>' + (Events.text[q[a][1]][+(l == 0 && d < (q[a][1] ? 1 : 5))]) + "</span>" + (l + ":" + d + ":" + u) + "</div></div>");
break;
};
};
};
document.getElementById("events").innerHTML = j.join("");

setTimeout(function()
{
Events.init(f == 86400 ? 1 : ++f);
}, 1000);
};

jQuery(document).ready(function($)
{
var d = new Date();
hh = d.getUTCHours() + 3, mm = d.getMinutes(), ss = d.getSeconds();

if (hh >= 24)
{
hh = hh - 24;
}

if (hh <= 9)
{
hh = "0" + hh;
}

if (mm <= 9)
{
mm = "0" + mm;
}

if (ss <= 9)
{
ss = "0" + ss;
}

Events.init(hh + ":" + mm + ":" + ss);
});
</script>

<div class="xysad" id="events"></div>


No se crear cosas, no soy PROGRAMADOR.
Se romper las cosas, empezando a ser CRACKER

Gracias:


Offline FrancoB #1 Posteado: August 14, 2017, 09:21:29 PM | Modificado: August 14, 2017, 09:31:39 PM by FrancoB

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 90
  • Gracias recibida: 1137
  • ar
hh = d.getUTCHours() + 3, mm = d.getMinutes(), ss = d.getSeconds();

Eso no será? En mi web lo tengo -3 (Lo puse así creyendo que se refería a una zona horaria)


Edit: Acabo de probar y cambiando el reloj de mi pc si cambia los horarios.. Pero es al revés, no conviene que agarre la loca, ya que si hay jugadores de otros países les dirá cualquier horario... Te dejo como lo tengo yo:

Code: [Select]

<script>
var Events = {};

Events.text = [
['starts in ', '<font color="green">open, to start </font>'],
['will appear in ', '<font color="red">hurry up, left </font>']
];

Events.sked = [
['Blood Castle  ', 0, '00:00', '02:00', '04:00', '06:00', '08:00', '10:00', '12:00', '14:00', '16:00', '18:00', '20:00', '22:00'],
['Chaos Castle  ', 0, '01:00', '03:00', '05:00', '07:00', '09:00', '11:00', '13:00', '15:00', '17:00', '19:00', '21:00'],
['Happy Hour  ', 0, '02:30', '06:30', '10:30', '14:30', '18:30', '22:30'],
['Illusion Temple  ', 0, '00:45', '04:45', '08:45', '12:45', '16:45', '20:45'],
['Moss Merchant  ', 0, '02:45', '06:45', '10:45', '14:45', '18:45', '22:45'],
['Golden Invasion  ', 0, '01:30', '03:30', '05:30', '07:30', '09:30', '11:30', '13:30', '15:30', '17:30', '19:30', '21:30'],
['White Wizard  ', 0, '07:45', '15:45', '23:45'],
['Medusa  ', 0, '03:45', '11:45', '19:45'],
['Red Dragon  ', 0, '04:30', '12:30', '20:30'],
['New Year Event  ', 0, '00:30', '08:30', '16:30'],
['Lunas Rabbit  ', 0, '03:15', '07:15', '11:15', '15:15', '19:15', '23:15'],
['Summer Event  ', 0, '02:15', '06:15', '10:15', '14:15', '18:15', '22:15'],
['Christmas Event  ', 0, '01:15', '05:15', '09:15', '13:15', '17:15', '21:15'],
['Skeleton King  ', 0, '00:15', '04:15', '08:15', '12:15', '16:15', '20:15'],
];

Events.init = function(e)
{
if (typeof e == "string") var g = new Date(new Date().toString().replace(/\d+:\d+:\d+/g, e));

var f = (typeof e == "number" ? e : (g.getHours() * 60 + g.getMinutes()) * 60 + g.getSeconds()),
q = Events.sked,
j = [];

for (var a = 0; a < q.length; a++)
{
var n = q[a];
for (var k = 2; k < q[a].length; k++)
{
var b = 0,
p = q[a][k].split(":"),
o = (p[0] * 60 + p[1] * 1) * 60,
c = q[a][2].split(":");

if (q[a].length - 1 == k && (o - f) < 0) b = 1;

var r = b ? (1440 * 60 - f) + ((c[0] * 60 + c[1] * 1) * 60) : o - f;

if (f <= o || b)
{
var l = Math.floor((r / 60) / 60),
l = l < 10 ? "0" + l : l,
d = Math.floor((r / 60) % 60),
d = d < 10 ? "0" + d : d,
u = r % 60,
u = u < 10 ? "0" + u : u;
j.push('<div class="event" align="center">' + '<b class="time" style="color: #FFBF00;">' + n[0] + '</b><div class="small" style="color: green;"><span style="color: black;">' + (Events.text[q[a][1]][+(l == 0 && d < (q[a][1] ? 1 : 5))]) + "</span>" + (l + ":" + d + ":" + u) + "</div></div>");
break;
};
};
};
document.getElementById("events").innerHTML = j.join("");

setTimeout(function()
{
Events.init(f == 86400 ? 1 : ++f);
}, 1000);
};

jQuery(document).ready(function($)
{
var d = new Date();
hh = d.getUTCHours() - 3, mm = d.getMinutes(), ss = d.getSeconds();

if (hh >= 24)
{
hh = hh - 24;
}

if (hh <= 9)
{
hh = "0" + hh;
}

if (mm <= 9)
{
mm = "0" + mm;
}

if (ss <= 9)
{
ss = "0" + ss;
}

Events.init(hh + ":" + mm + ":" + ss);
});
</script>


Yahoo respuestas papá

Gracias:


Offline conejowolf #2 Posteado: August 14, 2017, 09:42:33 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 0
  • Gracias recibida: 2206
  • at
@FrancoB 
Lo de cambiar la hora de mi pc, no era para q solo a mi me cambie, si no que mi pc es la pc host entendes? es como cambiar la hora del vps.

habia intenado cambiar el + 3 por - 3 , pero cuando lo hago se muere el modulo, deja de funcionar :/

PD: copie y pegue tu codigo, pero se muere, queda todo en negro.


No se crear cosas, no soy PROGRAMADOR.
Se romper las cosas, empezando a ser CRACKER

Offline FrancoB #3 Posteado: August 14, 2017, 09:47:04 PM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 90
  • Gracias recibida: 1137
  • ar
@FrancoB 
Lo de cambiar la hora de mi pc, no era para q solo a mi me cambie, si no que mi pc es la pc host entendes? es como cambiar la hora del vps.

habia intenado cambiar el + 3 por - 3 , pero cuando lo hago se muere el modulo, deja de funcionar :/

PD: copie y pegue tu codigo, pero se muere, queda todo en negro.

El código lo que hace es usar la hora de la pc donde estas abriendo la web, no donde esta hosteado

Yahoo respuestas papá

Offline conejowolf #4 Posteado: August 14, 2017, 09:57:22 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 0
  • Gracias recibida: 2206
  • at
@FrancoB 
Lo de cambiar la hora de mi pc, no era para q solo a mi me cambie, si no que mi pc es la pc host entendes? es como cambiar la hora del vps.

habia intenado cambiar el + 3 por - 3 , pero cuando lo hago se muere el modulo, deja de funcionar :/

PD: copie y pegue tu codigo, pero se muere, queda todo en negro.



El código lo que hace es usar la hora de la pc donde estas abriendo la web, no donde esta hosteado

Si me acabo de dar cuenta, lo acabo de ver. Y esta terriblemente mal eso!!
Porque si un evento empieza a las 5:00 hora del server.

Yo en arg son las 4:30 , me sale q faltan 30 minutos... pero en otro pais q son las 5:30  , le sale que ya paso el evento! cuando enrealidad aun no sucede.. Esta muy mal :/


No se crear cosas, no soy PROGRAMADOR.
Se romper las cosas, empezando a ser CRACKER

Offline FrancoB #5 Posteado: August 14, 2017, 10:05:35 PM

  • 0 puntos por ventas
  • *
  • Rank: Destacado
  • Posts: 90
  • Gracias recibida: 1137
  • ar
@FrancoB 
Lo de cambiar la hora de mi pc, no era para q solo a mi me cambie, si no que mi pc es la pc host entendes? es como cambiar la hora del vps.

habia intenado cambiar el + 3 por - 3 , pero cuando lo hago se muere el modulo, deja de funcionar :/

PD: copie y pegue tu codigo, pero se muere, queda todo en negro.



El código lo que hace es usar la hora de la pc donde estas abriendo la web, no donde esta hosteado

Si me acabo de dar cuenta, lo acabo de ver. Y esta terriblemente mal eso!!
Porque si un evento empieza a las 5:00 hora del server.

Yo en arg son las 4:30 , me sale q faltan 30 minutos... pero en otro pais q son las 5:30  , le sale que ya paso el evento! cuando enrealidad aun no sucede.. Esta muy mal :/

Si! A menos que les digas a todos que le sumen tanto tiempo dependiendo de que país son.. Pero muy incomodo.. fijate que hay modulos en algunas webs que anda bien eso.. Pero en el foro creo que no está..

Yahoo respuestas papá

Offline conejowolf #6 Posteado: August 14, 2017, 10:07:49 PM

  • 0 puntos por ventas
  • *
  • Rank: Principiante
  • Posts: 0
  • Gracias recibida: 2206
  • at
@FrancoB 
Lo de cambiar la hora de mi pc, no era para q solo a mi me cambie, si no que mi pc es la pc host entendes? es como cambiar la hora del vps.

habia intenado cambiar el + 3 por - 3 , pero cuando lo hago se muere el modulo, deja de funcionar :/

PD: copie y pegue tu codigo, pero se muere, queda todo en negro.



El código lo que hace es usar la hora de la pc donde estas abriendo la web, no donde esta hosteado

Si me acabo de dar cuenta, lo acabo de ver. Y esta terriblemente mal eso!!
Porque si un evento empieza a las 5:00 hora del server.

Yo en arg son las 4:30 , me sale q faltan 30 minutos... pero en otro pais q son las 5:30  , le sale que ya paso el evento! cuando enrealidad aun no sucede.. Esta muy mal :/

Si! A menos que les digas a todos que le sumen tanto tiempo dependiendo de que país son.. Pero muy incomodo.. fijate que hay modulos en algunas webs que anda bien eso.. Pero en el foro creo que no está..

Por eso lo mejor es que NO muestre a q hora es el evento, si no que muestre cuanto tiempo falta (tomando en cuenta la hora del server)..
O de ultima q muestre la hora del evento y aclaras al lado q es hora del server, seguido de cuanto falta.

PTM QUE BAJON ; ME LA RE BAJO ESTO :(


No se crear cosas, no soy PROGRAMADOR.
Se romper las cosas, empezando a ser CRACKER

Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
2 Replies
1253 Views
Last post March 08, 2020, 04:57:49 AM
by WolfXII
4 Replies
1498 Views
Last post December 08, 2020, 02:40:07 PM
by MichaelxD
0 Replies
356 Views
Last post December 29, 2020, 06:34:13 PM
by agropol
0 Replies
704 Views
Last post September 19, 2022, 09:47:20 AM
by v1rusjkee
0 Replies
179 Views
Last post July 05, 2023, 06:53:05 AM
by Rouge