Calendaring system
First Claim
Patent Images
1. In a computer system, a calendaring apparatus, comprising:
- date input means for assigning a first date having a first year, a first day of year, a first month and a first day of month to a first date register, and a second date to a second date register;
first computation means for generating a first day of week corresponding to said first date and storing said first day of week in a first day-of-week register;
counter register initialization means for setting a counter number in a counter register to zero;
function control means for assigning to a function register a function parameter selected from a first set of parameters whose elements include a calendar day function parameter and a processing day function parameter;
seven day-of-week control registers;
processing day control means for assigning a processing day definition parameter from a second set of parameters to each of said seven day-of-week control registers, said second set of parameters including an always-a-processing-day parameter;
date incrementation means for repeatedly advancing said first date in said first date register by one day towards said second date while said first date is not equal to said second date;
day-of-week incrementation means for repeatedly updating said first day of week in said first day-of-week register by one day of week to correspond to said first date;
counter register incrementation means for incrementing said counter number in said counter register for an advancement of said first date by said date incrementation means if said calendar day function parameter is assigned to said function parameter register, and for incrementing said counter number in said counter register for an advancement by said date incrementation means of said first date if said processing day function parameter is assigned to said function parameter register, and if said always-a-processing-day parameter has been assigned to one of said day-of-week control registers corresponding to said first day of week; and
display means for displaying said counter number in said counter register when said first date in said first date register is equal to said second date in said second date register.
5 Assignments
0 Petitions
Accused Products
Abstract
A calendaring system which provides accurate calendaring of all dates between Jan. 01, 0001 and Dec. 31, 9999 by implementation of an extended set of leap-year rules. The system includes a variety of additional useful features including: multiple holiday tables; flexible date formats; free form definition of processing days; full support for fiscal calendaring units; changeable endpoint counting modes; and integrated support for the current date in date calendaring calculations.
47 Citations
40 Claims
-
1. In a computer system, a calendaring apparatus, comprising:
-
date input means for assigning a first date having a first year, a first day of year, a first month and a first day of month to a first date register, and a second date to a second date register; first computation means for generating a first day of week corresponding to said first date and storing said first day of week in a first day-of-week register; counter register initialization means for setting a counter number in a counter register to zero; function control means for assigning to a function register a function parameter selected from a first set of parameters whose elements include a calendar day function parameter and a processing day function parameter; seven day-of-week control registers; processing day control means for assigning a processing day definition parameter from a second set of parameters to each of said seven day-of-week control registers, said second set of parameters including an always-a-processing-day parameter; date incrementation means for repeatedly advancing said first date in said first date register by one day towards said second date while said first date is not equal to said second date; day-of-week incrementation means for repeatedly updating said first day of week in said first day-of-week register by one day of week to correspond to said first date; counter register incrementation means for incrementing said counter number in said counter register for an advancement of said first date by said date incrementation means if said calendar day function parameter is assigned to said function parameter register, and for incrementing said counter number in said counter register for an advancement by said date incrementation means of said first date if said processing day function parameter is assigned to said function parameter register, and if said always-a-processing-day parameter has been assigned to one of said day-of-week control registers corresponding to said first day of week; and display means for displaying said counter number in said counter register when said first date in said first date register is equal to said second date in said second date register. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. In a computer system, a calendaring apparatus for date calculations based on a first date having a first year and a first Julian day, comprising:
-
first absolute days register for storing a first number of absolute days, said first absolute days register being initialized to zero; first year register initialized to said first year; first Julian day register for storing said first Julian day; first year register decrement means; and first absolute days increment means; and wherein said first absolute days increment means adds 1,168,775 to said first number of absolute days in said first absolute days register for each multiple of 3200 in said first year and said first year register decrement means sets said first year in said first year register equal to said first year modulo 3200, after which said first absolute days increment means adds 146,097 to said first number of absolute days in said first absolute days register for each multiple of 400 in said first year and said first year register decrement means sets said first year in said first year register equal to said first year modulo 400, after which said first absolute days increment means adds 36,524 to said first number of absolute days in said first absolute days register for each multiple of 100 in said first year and said first year register decrement means sets said first year in said first year register equal to said first year modulo 100, after which said first absolute days increment means adds 1,461 to said first number of absolute days in said first absolute days register for each multiple of 4 in said first year and said first year register decrement means sets said first year in said first year register equal to said first year modulo 4, after which said first absolute days increment means adds the product of 365 and said first year to said first number of absolute days in said first absolute days register and said first absolute days increment means adds said first Julian day to said first number of absolute days in said first absolute days register, whereby said first number of absolute days corresponds to said first date. - View Dependent Claims (19, 20, 21)
-
-
22. In a computer system, a calendaring apparatus comprising:
-
a leap year register initialized to have a non-leap year indicator; first date register for storing a first year and a first day of year;
counter register storing a counter number initialized to zero;second date register for storing a second date; modulo values determining means for determining modulo-3200, modulo-400, modulo-100, and modulo-4 values of said first year; leap year register set means including a comparing means for comparing a pair of said modulo values of said first year and an assignment means for assigning an indicator to said leap year register, said assignment means setting said leap year register to a leap year indicator if said comparing means determines that said modulo-4 value is zero and said modulo-100 value is nonzero, said assignment means setting said leap year register to said non-leap year indicator if said comparing means determines that said modulo-100 value is zero and said modulo-400 value is nonzero, said assignment means setting said leap year register to said leap year indicator if said comparing means determines said modulo-400 value is zero and said modulo-3200 value is nonzero, and said assignment means setting said leap year register to said non-leap year indicator if said modulo-3200 value is zero; counter/date advancement means for repeatedly advancing said counter number in said counter register and said first date having said first year and said first day of year towards said second date while said first date is not equal to said second date, if said first date is February 28 and said leap year register stores said leap year indicator then said first date is advanced to February 29, if said first date is February 28 and said leap year register stores said non-leap year indicator then said first date is advanced to March 1; and display means for displaying said counter number in said counter register when said first date equals said second date, whereby said counter number represents a quantity of days between said first date and said second date accurate for said first and second dates being between Jan. 1, 0001 and Dec. 31, 9999. - View Dependent Claims (23)
-
-
24. In a computer system, a calendaring apparatus comprising:
-
counter register; first storage register for storing a first date having a first year of century; second storage register for storing a second date a displacement direction from said first date; counter initialization means for initializing said counter number in said counter register to zero; endpoint definition means for assigning an endpoint definition parameter to an endpoint definition register, said endpoint definition parameter being selected from a set of endpoint definition parameters including a "B" value indicating that both said first date and said second date be counted, an "N" value indicating that neither said first date nor said second date be counted, an "F" value indicating that said first date but not said second date be counted, and a "T" value indicating that said second date but not said first date be counted; date/counter incrementation means, said date/counter incrementation means initially incrementing said first date in said first storage register in said displacement direction without incrementing said counter number in said counter register if said "N"or said "T" value is selected, said date/counter incrementation means generating repeated incrementations of said first date in said first storage register in said displacement direction and corresponding incrementations of said counter number in said counter register while said first date in said first storage register is not equal to said second date in said second storage register, and said date/counter incrementation means incrementing said counter number in said counter register when said first date in said first storage register is equal to said second date in said second storage register if said "B" or "T" values is selected; and a display means for displaying said counter number. - View Dependent Claims (25, 26, 27, 28)
-
-
29. In a computer system, a calendaring apparatus comprising:
-
first date storage register; first date assignment means for assigning a first date having a first year and a first day of year to said first date storage register; day of week generation means for generating a first day of week corresponding to said first date; counter register storing a counter number initialized to zero; distance register; direction register; distance assignment means for assigning an integer distance to said distance register; direction assignment means for assigning a direction to said direction register; function register; function assignment means for assigning a function parameter from a first set of function parameters, whose elements include a calendar day function parameter and a processing day function parameter, to said function register; seven processing day definition registers; processing day definition assignment means for assigning a processing day definition parameter, if said processing day function is selected, from a set of processing day definition. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification