Gil Amarth
Journeyman
Posts: 189
Likes Given: 2
Likes Received: 1 in 1 posts
Joined: May 2012
Reputation: 0
|
RE: Time Conversion
It´s a bad thing to be a scripter bad in maths. xD
If you don´t mind in spanish:
Code:
[FUNCTION F_TIEMPO_FORMATO]
LOCAL.DIAS = <ARGS>/86400
LOCAL.RESTO = <F_DIVISION_RESTO <ARGS>,86400>
LOCAL.HORAS = <LOCAL.RESTO>/3600
LOCAL.RESTO = <F_DIVISION_RESTO <LOCAL.RESTO>,3600>
LOCAL.MINUTOS = <LOCAL.RESTO>/60
LOCAL.RESTO = <F_DIVISION_RESTO <LOCAL.RESTO>,60> // Son los segundos
RETURN <dLOCAL.DIAS>,<dLOCAL.HORAS>,<dLOCAL.MINUTOS>,<dLOCAL.RESTO>
Code:
[FUNCTION f_division_resto] // (DIVIDENDO, DIVISOR); Devuelve (RESTO)
LOCAL.NUMERO_VUELTAS = <ARGV[0]> / <ARGV[1]>
LOCAL.REDUCIDO = <LOCAL.NUMERO_VUELTAS> * <ARGV[1]>
LOCAL.VUELTAS_RESTO = <EVAL <ARGV[0]> - <LOCAL.REDUCIDO>>
RETURN <LOCAL.VUELTAS_RESTO>
It returns only days, hours, minutes and seconds, but you can tweak it to give you weeks and months, if you want.
|
|
05-17-2013 06:26 PM |
|
|
mlyon83
Apprentice
Posts: 44
Likes Given: 0
Likes Received: 0 in 0 posts
Joined: Apr 2013
Reputation: 0
|
RE: Time Conversion
(05-17-2013 06:26 PM)Gil Amarth Wrote: It´s a bad thing to be a scripter bad in maths. xD
If you don´t mind in spanish:
Code:
[FUNCTION F_TIEMPO_FORMATO]
LOCAL.DIAS = <ARGS>/86400
LOCAL.RESTO = <F_DIVISION_RESTO <ARGS>,86400>
LOCAL.HORAS = <LOCAL.RESTO>/3600
LOCAL.RESTO = <F_DIVISION_RESTO <LOCAL.RESTO>,3600>
LOCAL.MINUTOS = <LOCAL.RESTO>/60
LOCAL.RESTO = <F_DIVISION_RESTO <LOCAL.RESTO>,60> // Son los segundos
RETURN <dLOCAL.DIAS>,<dLOCAL.HORAS>,<dLOCAL.MINUTOS>,<dLOCAL.RESTO>
Code:
[FUNCTION f_division_resto] // (DIVIDENDO, DIVISOR); Devuelve (RESTO)
LOCAL.NUMERO_VUELTAS = <ARGV[0]> / <ARGV[1]>
LOCAL.REDUCIDO = <LOCAL.NUMERO_VUELTAS> * <ARGV[1]>
LOCAL.VUELTAS_RESTO = <EVAL <ARGV[0]> - <LOCAL.REDUCIDO>>
RETURN <LOCAL.VUELTAS_RESTO>
It returns only days, hours, minutes and seconds, but you can tweak it to give you weeks and months, if you want.
Wow, thank you much. Good thing I never got started on this myself. I'll run it through Google Translator.
|
|
05-18-2013 12:22 AM |
|
|
Gil Amarth
Journeyman
Posts: 189
Likes Given: 2
Likes Received: 1 in 1 posts
Joined: May 2012
Reputation: 0
|
RE: Time Conversion
The script is very simple, 1 day it´s 86400 seconds, so you have to divide the the total amount of seconds to how many seconds a day has.
Then you have to calculate the rest of the division, f_division_resto does that. It´s only maths.
With the rest you repeat the operation, 1 hour has 3600 seconds, and repeat.
If you want months, and weeks.
Code:
[FUNCTION F_FORMAT_TIME]
LOCAL.MONTHS = <ARGS>/2592000 // Months of 30 days
LOCAL.REST = <F_DIVISION_REST <ARGS>,2592000>
LOCAL.WEEKS = <LOCAL.REST>/604800
LOCAL.REST = <F_DIVISION_REST <LOCAL.REST>,604800>
LOCAL.DAYS = <LOCAL.REST>/86400
LOCAL.REST = <F_DIVISION_REST <LOCAL.REST>,86400>
LOCAL.HOURS = <LOCAL.REST>/3600
LOCAL.REST = <F_DIVISION_REST <LOCAL.REST>,3600>
LOCAL.MINUTES = <LOCAL.REST>/60
LOCAL.REST = <F_DIVISION_REST <LOCAL.REST>,60> // Seconds
SYSMESSAGE @00 <dLOCAL.MONTHS> Months, <dLOCAL.WEEKS> Weeks, <dLOCAL.DAYS> Days, <dLOCAL.HOURS> Hours, <dLOCAL.MINUTES> Minutes, <dLOCAL.REST> seconds
Code:
[FUNCTION f_division_rest] // (DIVIDEND, DIVISOR); Returns (REST)
LOCAL.LOOPS = <ARGV[0]> / <ARGV[1]>
LOCAL.ELAPSED = <LOCAL.LOOPS> * <ARGV[1]>
LOCAL.REST = <EVAL <ARGV[0]> - <LOCAL.ELAPSED>>
RETURN <LOCAL.REST>
Then, you can use F_FORMAT_TIME <TAG.TIME>, and voilá.
(This post was last modified: 05-18-2013 05:55 AM by Gil Amarth.)
|
|
05-18-2013 05:51 AM |
|
|