Skip to content

Instantly share code, notes, and snippets.

@flakyfilibuster
Created October 7, 2012 20:24
Show Gist options
  • Save flakyfilibuster/3849472 to your computer and use it in GitHub Desktop.
Save flakyfilibuster/3849472 to your computer and use it in GitHub Desktop.
birthday
def birthday_timestamp(yyyy,mm,dd)
Time.new(yyyy,mm,dd)
end
#birthday_timestamp
def age(yyyy,mm,dd)
require 'date'
birthday_clean = Date.new(yyyy,mm,dd)
birthday = birthday_clean
today = Time.new.to_date
counter = 0
return puts "Your birthday is in the future! Please correct" if birthday_clean > today
puts "Your birthday was #{birthday} & today is #{today}"
age_output = [0,0,0]
until birthday.year == today.year
break if birthday.year == today.year-1 && birthday.month > today.month
birthday = birthday.next_year
age_output[0] += 1
end
until birthday.month == today.month
(counter = 1) && break if (birthday.month == today.month-1) && (birthday.day > today.day)
birthday = birthday.next_month
age_output[1] += 1
end
while birthday.day < today.day
birthday = birthday.next_day
age_output[2] += 1
end
if counter == 1
until birthday.day == today.day
birthday = birthday.next_day
age_output[2] += 1
end
end
puts "AGE: #{age_output[0]} Years, #{age_output[1]} Months, #{age_output[2]} Days old"
end
age(2010,8,10)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment