trabajar con dias,meses,aсos -
mcreed - 04.06.2016
Buena mi pregunta es como se puede trabajar con dias,meses,aсos en pawn-mysql, estube viendo que en sql hay varios tipos de formatos para fechas, pero como hago para que pawn le quite dia en dia que pase ? nose si el settimer es capaz de contar un dia.
Me imagino que si settimer aguanta un dia, pues que cuando pase un dia le reste un dia en la tabla, asi no ?
Gracias.
Re: trabajar con dias,meses,aсos -
Onfroi - 04.06.2016
Es mas facil usar
gettime o
getdate
Respuesta: trabajar con dias,meses,aсos -
Zume - 04.06.2016
SetTimer prбcticamente activa un proceso artificial (por asн decirlo), para ejecutar alguna funciуn. Sin embargo hay un proceso que estб siempre activo (y es el tiempo unix, no sй si estй realmente activo y solo se haya creado una forma de cifrar la fecha y hora en un formato que luego puede convertirse a un formato legible)
Ejemplo:
Utilizarбs PAWN por lo que puedes utilizar
gettime(); o MySQL que tiene
UNIX_TIMESTAMP(); (Ambas funciones hacen lo mismo por lo que es lo mismo utilizarlas, aunque la de MySQL es mбs compleja ya que permite agregar un formato dentro y opcional:
PHP код:
UNIX_TIMESTAMP('2015-11-13 10:20:19');
lo que te retornarнa:
1447431619, ahн en esos nъmeros estб la fecha "comprimida", por lo que puedes andarla de entero en entero y luego convertirla a string.
Para la conversiуn puedes utilizar este include:
https://sampforum.blast.hk/showthread.php?tid=533385
Tiene funciуn para convertir una fecha determinada a unix, o convertir una fecha determinada en formato UNIX a formato legible (dнas, meses, aсos)
Ejemplo:
PHP код:
new Dia, Mes, Year;
UnixToDate(1447431619, Dia, Mes, Year);
y ahora tienes el formato "1447431619" (unix) en variables individuales:
printf("Dнa: %i", Dia);
printf("Mes: %i", Mes);
printf("Aсo: %i", Year);
En conclusiуn: Existe una forma mбs eficiente que un SetTimer, puedes poner un SetTimer para comprobar si el tiempo ya pasу (comprobaciones de las variables que almacenen el tiempo unix).
Ademбs, tenemos estos datos:
Quote:
1 minute (60 seconds) is 60 * 1 = 60
2 minutes (120 seconds) is 60 * 2 = 120
1 hour (60 minutes) is 60 * 60 = 3600
2 hours (120 minutes) is 60 * 120 = 7200
1 day (24 hours) is 60 * 60 * 24 = 86400
2 days (48 hours) is 60 * 60 * 48 = 172800
1 week (7 days) is 60 * 60 * 24 * 7 = 604800
2 weeks (14 days) is 60 * 60 * 24 * 14 = 1209600
1 month (30 days) is 60 * 60 * 24 * 30 = 2592000
2 months (60 days) is 60 * 60 * 24 * 60 = 5184000
1 year (365 days) is 60 * 60 * 24 * 365 = 31536000
2 years (730 days) is 60 * 60 * 24 * 730 = 63072000
|
Por lo que si tenemos esto:
PHP код:
new unixActual = DateToUnix(4,6,2016)+2592000;
Asн que el tiempo unix que obtendrбs serб el de la fecha actual sumбndole 1 mes, y asн puedes restбrselo y operarle desde muchas formas rбpidamente.