#!/usr/bin/ruby -w #==================================================================== # evento.rb - días que faltan, días que han pasado desde una fecha. #-------------------------------------------------------------------- # Para trabajar con la clase DateTime #==================================================================== # FJA - neocipres@gmail.com Junio de 2008 #==================================================================== require 'date' def eventos_calendario(d, m, a) date = DateTime.now if date.year == a evento = DateTime.new(date.year, m, d, date.hour, date.min, date.sec) dif = (evento-date).to_i if dif == 0 puts "\n\t Hoy es el día !!! \n\n" elsif dif < 0 puts "\n\t Han pasado #{dif.abs} día#{"s" unless dif==1} del evento." puts "\n\t Faltan #{dif + 365} día#{"s" unless dif==1} para el próximo evento. \n\n" elsif dif > 0 puts "\n\t Sólo faltan #{dif} día#{"s" unless dif==1} para la fecha señalada. \n\n" end else evento = DateTime.new(a, m, d, date.hour, date.min, date.sec) dif = (evento-date).to_i.abs aos, dias = dif.divmod(365.25) # DateTime trabaja en días dias = dias.round if evento > date puts "\n\t Sólo faltan #{aos} año#{"s" unless aos==1} y #{dias} días para la fecha señalada. \n\n" else puts "\n\t Hace #{aos} año#{"s" unless aos==1} y #{dias} días que tuvo lugar el evento. \n\n" end end end begin dia, mes, ao = ARGV if ARGV.size > 2 eventos_calendario(dia.to_i, mes.to_i, ao.to_i) else puts "\n\t #{"="*52} \n" puts "\n\t Uso: evento <dia> <mes> <año> \n" puts "\n\t evento es un enlace simbólico a evento.rb o cb10.rb \n" puts "\n\t #{"="*52} \n\n" end rescue puts "\n\t Error-> #{$!} \n\n" end