Chainsaw Posted November 13, 2016 Share Posted November 13, 2016 (edited) Introducción Este recurso es una ayuda a los programadores que busquen tener un control más amplio del tiempo! Funciones: getWeekDay getMonthDays getMonthName getYearDays getRemaningDaysInYear getSpentsDaysInYear dateToUnix unixToDate getDateInAdd Ejemplos string getWeekDay(day, month, year) Permite obtener qué día de la semana es la fecha específicada (Su funcionamiento es puramente matemático, para conocer más sobre su funcionamiento https://en.wikipedia.org/wiki/Zeller's_congruence) outputchatBox(getWeekDay(13, 11, 2016)); -- output: Domingo int getMonthDays(month, year) Obtiene la cantidad de días de cierto mes tomando en cuenta los años biciestos (razón por la cual es obligatorio el argumento) local days = getMonthDays(2, 2016) -- Año biciesto -- days contains: 29, local days = getMonthDays(2, 2017) -- Año normal -- days contains: 28, string getMonthName(month) Obtiene el nombre del mes especificado local n = getMonthName(11) -- n contains: Noviembre int getYearDays(year) Obtiene la cantidad de días del año especificado incluyendo los días al ser año biciesto local n = getYearDays(2016) -- n contains: 366 local n = getYearDays(2015) -- n contains: 365 int getRemaningDaysInYear(day, month, year) Obtiene la cantidad de días que faltan en el año según los datos especificados local n = getRemaningDaysInYear(13, 11, 2016) -- n contains: 48 int getSpentsDaysInYear(day, month, year) Obtiene la cantidad de días que han pasado en el año según los datos especificados local n = getSpentsDaysInYear(13, 11, 2016) -- n contains: 318 int dateToUnix(day, month, year) Convierte el día, año y mes al tiempo unix para tener un mayor control de éste mediante el unixtime (https://es.wikipedia.org/wiki/Tiempo_Unix) local time = dateToUnix(13, 11, 2016) -- time contains: 1512864000 int, int, int unixToDate(unixtime) Convierte el unixtime a datos leibles local day, month, year = unixToDate(1512864000); --- days, mounth, year contains: 13, 11, 2016 int, int, int getDateInAdd(_day, _month, _year, days, months, years) Añade días a una fecha especificada y obtiene la fecha con los días, meses y años añadidos siguendo el formato del calendario (añades 20 días siendo 12 de diciembre de 2016 te dará) 1, enero 2017 sin alterar el orden local d, m, y = getDateInAdd(13, 11, 2016, 2, 0, 0); outputServerLog(getWeekDay(d, m, y)) -- output: Martes (15) ya que Domingo (13) meta.xml Todas las funciones pueden ser exportadas, para poner el resource en español configurar en el meta.xml <setting name="*Lang" value="[1]"/> -- Cambiar a <setting name="*Lang" value="[2]"/> Link de del recurso -> https://github.com/iZume/time-functions-LUA/archive/master.zip Edited November 13, 2016 by Chainsaw 2 Link to comment
Arsilex Posted November 13, 2016 Share Posted November 13, 2016 Bueno aporte, creo que esto le servirá a mas de uno, me incluyo entre ellos Link to comment
Chainsaw Posted November 14, 2016 Author Share Posted November 14, 2016 (edited) Actualice el recurso, la función dateToUnix tenía un bug en la conversión de tiempo ______________________ Por cierto, lo que está en la imagen de presentación del tema se puede lograr así: local time = getRealTime(); local day, month, year = time.monthday, time.month + 1, time.year + 1900; for i=1,getRemaningDaysInYear(day, month, year) do local d, m, y = getDateInAdd(day, month, year, i, 0, 0) outputServerLog(string.format("In +%i days will be: %s %i, %i (%s)", i, getMonthName(m), d, y, getWeekDay(d, m, y))) end Dicho script te dirá qué día de la semana serán todos los días del año que restan según el año en que estés Edited November 14, 2016 by Chainsaw Link to comment
aka Blue Posted November 14, 2016 Share Posted November 14, 2016 Para ser nuevo en ésto (hasta donde leí), se te da bastante bien el lenguaje y es un plus bastante grande el que entiendas de matemáticas. Buenas funciones, útiles y no tan complejas, felicidades. Link to comment
Arsilex Posted November 14, 2016 Share Posted November 14, 2016 El chaval viene de programar en C++ o C# por lo que esto es pan comido para el creo yo Link to comment
aka Blue Posted November 15, 2016 Share Posted November 15, 2016 Yo vine de Java, lo que me facilitó cosas como entender las variables, condicionales, exports... cosas básicas, pero se nota que le pilló el truco. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now