Calendar Wiki
Advertisement

The Natural Life Calendar is designed as a guide to the activities of humans and other living creatures as well as natural phenomenons on planet Earth. Even though its quantities might seem irregular and illogical they help with the stated objectives.

The numbers presented in this document are followed by their value in decimal inside brackets in the event that some human would like to read it. When a limit is set, it denotes the upper bound of the quantity. All allowed values are below that limit. They are unsigned integer values starting from #0 so the limit also gives the number of possible values.

A date is given as a packed integer quantity with the components:

c, y, s, m, d, ewo

The decimal value is unpacked, labelled with the quantity name and uses the dot (.) as separator.

Definitions[]

Day[]

Value: #15180 second (86400)

Base unit of the calendar. The start of the day should be negotiated between the two ends of the communication. The default is set by the TAI standard.

Week[]

Value: #7 day (7)

The start of the week is defined by human customs. It must be synchronised with the start of the day.

Century (c)[]

Size: undefined
Limit: undefined
Signed or unsigned integer
#1 century (1) == #64 year (100)

The size, limit and signedness of the century quantity should be negotiated between the two ends of the communication. The default is size #0 (0), limit #0 (0) and bias #14 (20).

Year (y)[]

Size: #7 bit (7)
Limit: #64 (100)
#1 year (1) == #4 season (4)
#1 year (1) == #c month (12)
#1 year (1) == #16d day (365) to #16e day (366)
  • a year is equal to (#16d (365) + ly) day

Season (s)[]

Size: #2 bit (2)
Limit: #4 (4)
Names:
 - North hemisphere: {Spring: #0 (0), Summer: #1 (1), Autumn: #2 (2), Fall: #2 (2), Winter: #3 (3)}
 - South hemisphere: {Autumn: #0 (0), Fall: #0 (0), Winter: #1 (1), Spring: #2 (2), Summer: #3 (3)}
#1 season (1) == #3 month (3)
#1 season (1) == #5b day (91) to #5d day (93)
  • season[x] is equal to #5b day (91) when x is in #0 ... #2 (0 to 2)
  • season[#3 (3)] is equal to (#5c (92) + ly) day

Season #0 (0) begins one week before the March Equinox as defined by the Christian Church, which is fixed to 21 March in the Gregorian calendar.

Month (m)[]

Size: #2 bit (2)
Limit: #3 (3)
Names:
 - season[0]: {March: #0 (0), April: #1 (1), May: #2 (2)}
 - season[1]: {June: #0 (0), July: #1 (1), August: #3 (3)}
 - season[2]: {September: #0 (0), October: #1 (1), November: #2 (2)}
 - season[3]: {December: #0 (0), January: #1 (1), February: #2 (2)}
#1 month (1) == #1d day (29) to #1f day (31)
  • month[x] is equal to #1f day (31) when x is in #0 ... #1 (0 to 1)
  • month[#2 (2)] is equal to #1d day (29) for season[x] when x is in #0 ... #2 (0 to 2)
  • month[#2 (2)] is equal to (#1e (30) + ly) day for season[#3 (3)]

The name associated with a month is the name of the Gregorian calendar month in which the first day of the month falls.

Day of the Month (d)[]

Size: #5 bit (5)
Limit: #1f (31)

The actual limit is defined by how many days the month is equal to.

Equinox Week Offset (ewo)[]

Size: #3 bit (3)
Limit: #7 (7)

Offset of the March Equinox day from the start of the week. It uses the convention that a week starts on Monday.

Day of the Week (dow)[]

dow = (d + ewo + m * #3 (3)) % #7 (7)
Names: {Monday: #0 (0), Tuesday: #1 (1), Wednesday: #2 (2), Thursday: #3 (3),
    Friday: #4 (4), Saturday: #5 (5), Sunday: #6 (6)}

The day of the week is used to predict the patterns of human activity as humans often practice specific activities on a designated day of the week.

Leap Year (ly)[]

ly = (y == 0 and c % 4 == 0) or (y != 0 and y % 4 == 0)
Advertisement