19 stycznia
- !/usr/bin/ruby
month,day = ARGV
unless month and day print "Użycie: #{$0} <numer miesiąca> <numer dnia>\n" exit end
month = month.to_i day = day.to_i
$month_size = [ 0, 31,28,31,30, 31,30,31,31, 30,31,30,31 ] $month_names = [ 'X', 'stycznia', 'lutego', 'marca', 'kwietnia', 'maja', 'czerwca', 'lipca', 'sierpnia', 'września', 'października', 'listopada', 'grudnia' ]
if month < 1 or month > 12 print "Nie ma takiego miesiąca: numer #{month}\n" exit end if month == 2 if (day < 1 or day > 29) and month == 2 print "Nie ma takiego dnia: #{day} #{$month_names[month]}\n" exit end else if day < 1 or day > $month_size[month] print "Nie ma takiego dnia: #{day} #{$month_names[month]}\n" exit end end $month_startday = [ 0, 0,31,59, 90,120,151, 181,212,243, 273,304,334 ]
def ordnumgenetiv(num) ordnumgenetiv_ends = [ "tym", "wszym", "gim", "cim", "tym", "tym", "tym", "mym", "mym", "tym" ] if num == 0 raise "wrong number: 0" elsif num % 100 == 0 "#{num}nym" elsif num >= 9 and num <= 20 "#{num}tym" end "#{num}#{ordnumgenetiv_ends[num%10]}" end
def dayno(day,month) nr = $month_startday[month] + day if month > 2 return "#{ordnumgenetiv(nr)} (w latach przestępnych #{ordnumgenetiv(nr+1)})" else return ordnumgenetiv(nr).to_s end end
def dayleft(day,month) nr = $month_startday[month] + day if month > 2 return (365-nr).to_s elsif month == 2 and day == 29 return (366-nr).to_s else return "#{365-nr} (w latach przestępnych #{366-nr})" end end
def special(day,month) if day==29 and month == 2 return "Występuje tylko w latach przestępnych." else return "" end end
def prevday(day,month) if day-1 > 0 return "[[#{day-1} #{$month_names[month]}|Poprzedni dzień]]" elsif month == 1 return "Poprzedni dzień" elsif month == 3 return "Poprzedni dzień w latach zwykłych Poprzedni dzień w latach przestępnych" else return "[[#{$month_size[month-1]} #{$month_names[month-1]}|Poprzedni dzień]]" end end
def nextday(day,month) if day+1 <= $month_size[month] return "[[#{day+1} #{$month_names[month]}|Następny dzień]]" elsif month == 12 return "Następny dzień" elsif month == 2 return "Następny dzień w latach przestępnych Następny dzień w latach zwykłych" else return "[[1 #{$month_names[month+1]}|Następny dzień]]" end end
print <<EOF
- {day} #{$month_names[month]} jest #{dayno(day,month)} dniem w
kalendarzu gregoriańskim, do końca roku pozostało #{dayleft(day,month)} dni.
- {special(day,month)}
Święta
Urodzili się:
Zmarli:
Wydarzenia:
- w Polsce
- na Świecie
styczeń - luty - marzec - kwiecień - maj - czerwiec - lipiec - sierpień - wrzesień - październik - listopad - grudzień
- {prevday(day,month)} #{nextday(day,month)}
EOF 19 stycznia
Święta
imieniny: ...
- ...
- ...
Urodzili się
- Franek z Torunia, wieloletni współpracownik ojca Rydzyka. Podobno pracował z Masonami, Pokemonami i z Szatanem. Poseł 4 kandecji Czwartej erpe, zwolennik Moheru.
Zmarli
- ... - ...
Wydarzenia w Polsce
- ... - ...
Wydarzenia na świecie
- ... - ...