All pastes #94573 Raw Edit

Age script

public text v1 · immutable
#94573 ·published 2006-07-21 10:09 UTC
rendered paste body
age {
  ; Change this to your birthday in the same format.
  var %bday = April 09, %year = 1986
  ; Do not edit this unless you know what you're doing.
  var %seconds = $calc($ctime - $ctime(%bday %year))
  var %timeu = $calc($ctime(%bday $asctime(yyyy)) - $ctime)
  var %timey = $calc($asctime(yyyy) - %year)
  if (%timeu < 0) {
    var %timeu = $calc($ctime(%bday $calc($asctime(yyyy) + 1)) - $ctime)
    var %timey = $calc($calc($asctime(yyyy) + 1) - %year)
  }

  ; Adding correct support for 'th'
  var %mult 10
  var %prod 1
  var %th th
  var %flag 0
  var %flcg 1
  ;echo Next year = %timey

  while ( %prod < 10 ) {
    %flcg = 1
    while ( %flcg < 4 ) {
      ;echo Calc = $calc((%mult * %prod) + %flcg ))
      if( %timey == ($calc((%mult * %prod) + %flcg )) ) { 
        %flag = %flcg
        ;echo Flag set to %flag
      }
      inc %flcg
      ;echo Flcg: %flcg
    }
    inc %prod
    ;echo Prod: %prod
  }

  if(%flag)
  var %th st
  elseif (%flag == 2)
  var %th nd
  elseif (%flag == 3)
  var %th rd
  	
  me is exactly $calc(%seconds / 31536000) years old. It is exactly $duration(%timeu) until my %timey $+ %th birthday
}