All pastes #707408 Raw Edit

Someone

public text v1 · immutable
#707408 ·published 2007-09-22 21:55 UTC
rendered paste body
alias -l GetDaysSince {
  set %yy $3
  set %mm $2
  set %dd $1
  set %days $calc(365 * ($date(yyyy) - %yy) + LeapYearDays(%yy))

  while ($date(mm) > %mm) {
    inc %days %md. [ $+ [ %mm ] ]
    inc %mm 
  }
  while ($date(mm) < %mm) {
    dec %days %md. [ $+ [ %mm ] ] 
    dec %mm 
  }

  inc %days $calc($date(dd) - %dd)
  return %days
}

alias -l LeapYearDays { 
  set %yy $1
  set %LY $calc($date(yyyy) - %yy)

  if (%LY < 0) { return 0 }

  set %LY2 0
  set %dys 0

  while (%LY2 < %LY) {
    if (4 // $calc(%yy + %LY2)) {
      inc %dys
    }
    inc %LY2
  }
  return %dys
}